第一章一、什么是JAVAEE?1、JAVAEE是一个标准中间件体系结构2、JAVAEE是企业分布式应用开发标准。二、JAVAEE编程思想和技术框架:什么是组件,什么是容器,JAVAEE有组件(三类重要组件和容器,其分布如何)JAVAEE编程思想:组件——容器JAVAEE应用的基本软件单元是JAVAEE组件。组件的运行环境被称为容器。JAVAEE组件:1、客户端组件:JAVAEE客户端既可以是一个web浏览器、一个Applet,也可以是一个应用程序。2、web组件:web组件是在JAVAEEweb容器上运行的软件程序。它的功能是在HTTP协议以上对web请求进行响应,这些响应动态的生成网页。JAVAEEweb组件包括Servlet和JSP。3、EJB组件:用于实现特定的应用逻辑。EJB分为两种:会话EJB和实体EJB,会话EJB向客户提供一定的服务。而实体EJB则代表数据对象,通常代表的是数据表记录集的一行,一个实体EJB可以同时与多个客户进行交互。三、简述JAVAEE体系所含的主要技术1、组件技术2、服务技术3、通信技术四、JavaEE应用有哪些优点?1、独立于硬件配置和操作系统2.坚持面向对象的设计原则3.灵活性、可移植性和互操作性4.轻松的企业信息系统集成第三章一、什么是servlet,与Applet有什么区别定义:一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面相似之处:(1)它们不是独立的应用程序,没有main()方法。(2)它们不是由用户调用,而是由另外一个应用程序(容器)调用。(3)它们都有一个生存周期,包含init()和destroy()方法。不同之处:(1)Applet运行在客户端,具有丰富的图形界面。(2)Servlet运行在服务器端,没有图形界面。二、servlet的工作原理(参与WEB.xml中的,servlet和servlet-标签,另外注意多个请求的处理)工作原理:Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在Servlet的使用期限结束时终结该Servlet。服务器关闭时,Web容器会从内存中卸载和除去Servlet。多个请求的处理:服务器会根据Servlet实例对象为每个请求创建一个处理线程。每个线程都可以访问Servlet装入时的初始化变量。每个线程处理它自己的请求。服务器将不同的响应发送回相应的客户端。三、编写servlet程序的步骤(p21-22);浏览器中输入的地址如何(p27,web.xml文件中各节点的含义p28)doGet(),doPost()的声明中必须包含抛出servletException和IoException这两个异常,Http请求7种方式p32,get与post方式的区别步骤:1、创建一个扩展了javax.servlet.http.HttpServlet接口的Servlet类。2、重写doGet()或doPost()方法实现对HTTP请求信息的动态响应。各节点的含义:servlet结点用来指明Servlet逻辑名称与java实现类之间的对应关系;Servlet_mapping用来指明Servlet逻辑名称与URL请求地址之间的对应关系;welcome-file-list节点指明请求web应用程序时默认显示的欢迎页面。Http请求7种方式:GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACEget与post方式的区别:当使用Post方法时,数据由标准的输入设备读入。当使用Get方法时,数据由CGI变量QUERY_STRING传递给表单数据处理程序,即附加在请求地址的后面,在浏览器的地址栏中可以看到。用户只要简单的调用HttpServletRequest的getParameter()方法,给出变量名称即可取得该变量的值。四、表单提交程序的编码(form的两个属性,如何获取提交的值,参数的值的输出),关于汉字乱码解决的方法p30-32,要求会动手编程response.setContentType(“text/html;charset=GB2312”)request.setCharacterEncoding(“gb2312”)五、发送非HTML文档(p37,resset.ContnetType(“”))pdf文件:res.setContentType(“application/pdf”)word文件:res.setContentType(“application/msword”)excel文档:res.setContentType(“application/vnd.ms-excel”)六、/cookie及其使用方法(p43-47,生成cookie的对象,设置cookie参数)(maxage的含义),写入和读取cookie,要去会动手编程Cookie是一小块可以嵌入到HTTP请求和响应中的数据。Web服务器将Cookie值嵌入到响应的首部,而浏览器则在其以后的请求中都将携带同样的Cookie。Cookie由浏览器保存在客户端,通常为一个文本文件。七、cookie回话跟踪,URL重写回话跟踪以及HttpSession回话跟踪的方法,关闭回话的三种方式URL重写通过在URL地址后面增加一个包含会话信息的字符串来记录会话信息。URL地址与会话信息的字符串间用“?”隔开,如果有多个参数,参数间用“&”隔开。HttpSession接口允许Servlet查看和管理关于会话的信息,确保信息持续跨越多个用户连接等。HttpSession高级接口实际上是建立在Cookie和URL重写这两种会话跟踪技术之上的,只不过由Servlet自动实现了关于会话跟踪的一切,不再需要程序员了解具体细节。八、Fitter必须实现的接口的三个方法(p67,一个Filter必须实现javax.servlet.Filter接口)(1)init(FilterConfig)初始化方法,一般用来获取在web.xml文件中指定的初始化参数。(2)doFilter(ServletRequest,ServletResponse,FilterChain)实现过滤功能,该方法就是对每个请求及响应增加的额外处理。FilterChain对象提供了后续Filter所要调用的信息。(3)destroy()用于Filter销毁前,完成某些资源的回收。九、Filter如何与具体的请求URL模式关联起来(参写web.xml中的<filter-mapping>标签,p67-71)<filter-mapping>结点指明Filter与URL之间的对应关系。第四章一、什么是JSP,它与servlet的关系JSP是一种实现普通静态HTML和动态HTML混合编码的技术。JSP最终会被转换成标准的Servlet。二、JSP页面的基本组成,HTML代码脚本元素、指令和动作。要求会变形程序,写一个JSP程序经常要用到的框架<%@page.contenType="text/html:charsel=GB2312">//或者分行来写p122<html><body>.............</body>脚本元素、指令和动作脚本元素用来嵌入java代码,这些java代码将成为转换得到的Servlet的一部分;JSP指令用来从整体上控制Servlet的结构;动作用来引入现有的组件来控制web容器的行为。三、表达式的语法格式(p86),要求编写过程中会使用%=表达式%输出表达式的结果。表达式中的变量必须是前面已声明过的变量。注意:%与=之间不能有空格且表达式后面不需要分号。四、两中注释的区别及各自的语法格式,要求编写过程中会使用1、输出到客户端的注释!-comment-2、不输出到客户端的注释%--comment--%五、变量、方法及类的声明(变量的声明可以放在引用之后),要求编写过程中会使用%!声明;[声明;]...%六、指令:page指令和include指令的语法格式及各个指令的含义,要求编程中会使用JSP的指令格式为:%@指令名属性=属性值%page指令用来定义整个JSP页面的全局属性。合法的page属性有:import、contentType、isThreadSafe、session、buffer、autoflush、extends、info、errorPage、isErrorPage和language等。include指令向JSP页面内某处嵌入一个文件。这个文件可以是HTML文件、JSP文件或其他文本文件。格式:%@includefile=相对位置%七、include动作的语法格式及其与include指令的区别(可参考课件)include动作组件:把指定文件插入正在生成的页面。其语法如下:jsp:includepage=“文件名”flush=“true”/。区别:include动作组件和include指令元素有很大的不同。include动作组件在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行了修改,那么运行时可以看到所包含文件修改后的结果。而静态的include指令包含的文件如果发生变化,必须重新将JSP页面转译成java文件,否则只能看到所包含的修改前的文件内容。八、forward动作的语法格式及其与response对象sendRedirect方法之间的区别forward动作组件:用于将浏览器显示的网页,导向至另一个HTML网页或JSP网页,客户端看到的地址是A页面的地址,而实际内容却是B页面的内容。语法如下:jsp:forwordpage=“网页名称”区别:response.sendRedirect()是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用response.sendRedirect()时,浏览器的地址栏上可以看到地址的变化。而jsp:includepage=“url”/则不同,它是直接在服务器端执行重定位的,从浏览器的地址不变可以看出。九、param动作的使用,结合include动作或forward在不同页面间传递参数。要求会编程jsp:param组件:用于传递参数信息,必须配合jsp:include或jsp:forward动作组件一起使用。语法如下:jsp:paramname=参数名称,value=值/当该组件与jsp:include一起使用时,可以将param组件中的值传递到include动作组件要加载的文件中去。十、JSP的九种内置对象及其作用范围(p103-123,page,request,session,application)Request、Reponse、Out、Session、Application、Config、Pagecontext、Page、exception作用范围:(1)page。page范围内的对象仅在JSP页面范围内有效。超出JSP页面范围,则对象无法获取。(2)request。客户向服务器发起的请求称为request(请求)。由于采用jsp:forward和response.sendRedirect()等重定位计数,客户端发起的request请求可以跨越若干个页面。因此定义为request范围的JSP内置对象可以在request范围内的若干个页面内有效。(3)session。客户端与服务器的交互过程,称为session(会话)。在客户端与服务器的交互过程中,可以发起多次请求,一个session可以包含若干个request。定义为session范围的JSP内置对象可以跨越若干个request范围有效。(4)application。部署在服务器上的We