Java Web总结.doc





《Java Web总结.doc》由会员分享,可在线阅读,更多相关《Java Web总结.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java Web总结Java Web总结JavaWebWeb访问原理客户1输入网址5页面内容HTTP超文本协议2发出请求客户端浏览器4返回结果服务器3处理请求浏览器只能读取Html文本所以服务器返回的只是Html服务器动态生成Html页面服务器工作原理服务器产生动态页面的方法和技术:实现动态输出HTML页面时由运行在服务端的CGI程序产生的,CGI根据不同客户的请求输出相应的HTML页面,然后Web服务器在把这个静态页面返回哥浏览器作为客户端的响应。CGI的操作过程服输出生成Html务页面端请求运行某个CGI程序CGI程序(生成所需的Html文件)数据库读取数据和文件注意:CGI程序在服务器执
2、行,并可以和Web服务器在同一个主机上。CGI可以访问存储数据库中的数据和其他系统中的文件。CGI的不足:需要为每个请求都启动一个操作CGI的系统进程,开销很大。需要重复编写出来网络歇息的代码及进行编码,非常耗时。JavaServletJavaServlet改进的CGI思想:CGI程序为每个请求都运行一个CGI程序的系统进程开销很大,Servlet技术只需要启动一次服务进程而且只需加载一次JVM,之后这个JVM在加载另外的类。好处:只需启动一个操纵系统进程以及加载一个JVM,大大降低了系统的开销如果有多个请求需要做同样的处理的时候,这时只需加载一个类。所有动态加载的类可以实现对网络协议以及请求
3、解码的代码共享Servlet能够直接额Web服务器交互,能够各个程序之间共享数据,数据库连接池之类的功能很容易实现Servlet类重复使用PrintWriter.println();方法来输出相应的HTML页面,以达到动态生成HTML页面的效果。注意:所有的JavaWeb服务器都应该遵守JavaServletAPI(运用程序接口)的编码标准。Servlet的缺点:Servlet生成网页的方法是在Java类中嵌入HTML标签和表达式,所以修改起来很麻烦。JSP基本原理JSP:Servlet的模板JavaServerPages(JSP)是一种实现静态HTML和动态HTML混合编码的技术,是Serv
4、letAPI的一个扩展。JavaBean返回的数据JSP页面访问原理服务器端浏览器请求调用某个JavaBean组件读取数据库和文件JavaBean(基于Java组件)返回HTML页面数据库服务器存储的JSP文件(后缀.jsp)相应请求JSP基本原理:Web容器出来JSP文件步骤翻译阶段编译阶段请求处理阶段会话会话请求会话翻译转换JavaServlet实现代码(.java)编译JavaServlet实现类(.class):二进制文件激活请求准备JavaServlet实现对象Java编译工具Java编译工具JSP容器响应翻译阶段:JSP文件首先被Web容器中的JSP引擎转换成Java源代码也是就是
5、通过Servlet引擎编译阶段:JSP文件所翻译成的Java源代码会被翻译成可执行的二进制文件请求阶段:当容器接受了客户端的请求后,就执行前面已经编译成的二进制的JSP文件,容器吧生成的页面反馈给客户进行显示。注意:一旦容器把JSP文件翻译和编译之后来自客户端的每一个JSP请求就可以重用这个编译好的二进制文件,没有必要把同一个JSP进行翻译和编译。也就是说如果一个JSP文件是第一次请求要经历上述三个阶段,如果一个JSP文件之前已经就被请求过就没必要经历翻译和编译阶段,直接使用编译好的二进制文件。扩展阅读:Java Web总结JavaWeb总结1.Web工作原理.21.1.HTTP处理步骤.21
6、.2.HTTP请求的组成.21.3.HTTP响应的组成.31.4.理解HTTP无状态协议.31.5.CGI与Servlet.31.6.Servlet的主要任务.41.7.Web容器.41.8.JavaWeb应用程序的组成.42.Servlet基础.42.1.Servlet框架的组成.42.2.Servlet编码和部署.52.3.ServletURL映射路径.52.4.Servlet生命周期.62.5.ServletConfig与ServletContext.63.HTTP请求.83.1.Servlet与Web容器配合处理请求和响应.83.2.GET与POST提交方式的区别.83.3.获取HTT
7、P协议请求行.83.4.获取HTTP协议请求头.93.5.获取表单数据.93.6.请求转发.93.7.请求范围对象绑定.94.HTTP响应.94.1.HTTP状态行.94.2.设置响应头.104.3.设置响应消息体.104.4.传输数据.104.4.1.传输文本数据.104.4.2.传输二进数据.104.4.3.请求重定向.105.Web应用程序状态管理.115.1.Cookie.115.2.Session.115.3.URL重写.126.对象作用域与Servlet事件监听器.136.1.对象作用域.136.2.监听器.137.过滤器.158.JSP.JSP运行机制:.16JSP语法和语义.1
8、68.2.1.JSP脚本元素.168.2.2.JSP注释.178.2.3.JSP指令.178.2.4.JSP标准动作.178.2.5.JSP隐式对象.179.JavaWeb开发模式.189.1.MVC模型.189.1.1.视图.189.1.2.模型.189.1.3.控制器.189.2.MVC实现步骤.1910.JSTL与EL表达式.1910.1.EL表达式解释.1910.2.在EL表达式中的隐式变量.198.1.8.2.1.Web工作原理1.1.HTTP处理步骤创建与服务器的连接发送HTTP请求接收客户端HTTP请求,生成HTTP响应回发关闭与服务器的连接1.2.HTTP请求的组成请求行请求头
9、空行消息体1.3.HTTP响应的组成状态行响应头空行消息体1.4.理解HTTP无状态协议主要是说,客户机的状态,服务器是不知道的。比如说,用户关掉浏览器,服务器无法得知。只能向客户端提供静态网页内容1.5.CGI与ServletCGI:即通用网关接口(CommonGatewayInterface),它可以用Shell、Perl、C、PHP、Python等编写。每次请求就打开一个CGI进程,严重消耗服务器资源。极大地限制了一个服务器可以支持的并发CGI用户数量,但是安全性高。Servlet:Servlet与Web容器被设计用来解决CGI的问题,JavaServlet的优点在于它们的执行速度更快于
10、CGI程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。Servlet运行在一个主进程或者一个父程序中,这就是为什么Servlet更高效的关键原因。1.6.Servlet的主要任务读取客户端发送的显式和隐式数据生成结果向客户端发送显式数据(即文档)和隐式数据(HTTP响应数据)1.7.Web容器Web容器负责管理和运行Servlet,容器对Servlet的支持包括:通信支持生命周期管理多线程支持JSP支持处理安全性1.7.1.1.1.7.1.2.1.7.1.3.1.7.1.4.1.7.1.5.1.8.JavaWeb应用程序的组成
11、配置文件、静态HTML文件和JSP、类文件和包。2.Servlet基础2.1.Servlet框架的组成Servlet框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。Servlet框架是由2个Java包组成:javax.servlet和javax.servlet.httpjavax.servlet包中定义了所有Servlet类都必须实现的接口和类。javax.servlet包的接口为:ServletConfig接口-在初始化过程中由Servlet容器使用ServletContext接口-定义Servlet用于获取容器信息的方法ServletR
12、equest接口-向服务器请求信息ServletResponse接口-响应客户端请求Servlet接口-定义所有Servlet必须实现的方法javax.servlet包中的类为:ServletInputStream类-用于从客户端读取二进制数据ServletOutputStream类-用于将二进制数据发送到客户端GenericServlet类-抽象类,定义一个通用的,独立于底层协议的Servlet。javax.servlet.http包中定义了采用HTTP通信的HttpServlet类。javax.servlet.http包的接口为:HttpServletRequest接口-提供http请求H
13、ttpServletResponse接口-提供http响应HttpSession接口-用于标识客户端并存储有关客户信息HttpSessionAttributeListener接口-实现这个侦听接口用户获取会话的属性列表的改变的通知javax.servlet.http包中的类:HttpServlet类-扩展了GenericServlet的抽象类,用于扩展创建HttpServlet处理Http请求Cookie类-创建一个Cookie,用于存储Servlet发送给客户端的信息注意javax.servlet包和javax.servlet.http包的区别,javax.servlet.http这个包里的
14、类都去实现了javax.servlet包里的接口,用于专门用于HTTP协议。2.2.Servlet编码和部署Servlet体系结构:Servlet-GenericServlet-HttpServlet-用户自定义的Servlet2.2.1.1.用户自定义的Servlet继承HttpServlet,重写一下方法中的一个:doGet()和doPost()2.2.1.2.在容器中注册Servlet,配置web.xml,在web.xml文件中加入Hellocom.lovo.servlet.Hello2.2.1.3.映射虚拟路径,同样是通过配置web.xml,在web.xml文件中加入Hello/Hel
15、lo2.3.ServletURL映射路径2.3.1.1.精确模式匹配。这种类型的模式用于将请求一对一映射到指定的Servlet。2.3.1.2.扩展名匹配“*.扩展名”。在这种情况下,所有以指定扩展名结尾的URL都转向指定的Servlet。2.3.1.3.路径映射。路径映射必须以/开始,以/*结尾,在这之间可以出现任意字符。路径匹配通常用于将对某个目录的所有请求转向一个指定的Servlet。2.3.1.4.默认的Servlet,/。默认的Servlet映射用于定义一个在没有给出路径信息时请求转向的Servlet。2.4.Servlet生命周期Servlet的生命周期由Servlet容器控制,该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web总结 Web 总结

限制150内