您好,欢迎访问三七文档
serlvet课件目录一、bs,cs优缺点对比二、客户端运行环境对比三、通信协议对比四、web相关核心对象的产生五、web.xml,servlet生命周期六、容器(tomcat)目录一、bs,cs优缺点对比CS优点,缺点BS优点,缺点优点:C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,客户端表现能力强缺点:1.主要适用于局域网2.客户端需要安装专用的客户端软件3.对客户端的操作系统一般也会有限制cs优点,缺点bs,cs优缺点对比优点:B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件缺点:1.客户端界面控制不如csbs优点,缺点bs,cs优缺点对比客户端运行环境对比客户端一般运行在jvm中,因此客户端操作元素,以及复杂界面控制起来比较方便。基本上在客户端操作是本机的内存,可以完成复杂对象的组装等等操作,然后通过序列化等技术将组装的对象传到服务器,服务器再反序列化,然后完成业务操作。Cs客户端运行环境客户端运行环境对比Bs基本上没有客户端,只要客户端上有浏览器即可,如:IE。因此,bs不能像cs那样通过本地对象操作,完成复杂的对象组装,因此业务都是在服务器端完成的,所有的对象组装都是在服务器完成的。客户端(IE),只能传输超文本,以及一些javascript的校验。bs客户端运行环境通信协议对比bs客户端和服务器主要采用http协议通信。Cs客户端和服务器主要采用RMI/IIOP等协议以上只是主要的情形,cs客户端和服务器之间的通信协议是多种多样的通信协议对比web相关核心对象的产生超文本传输协议获取文件HTTP获取图像/bar01.jpgHTTP/1.1HTTP/1.1200OK收到的文件•–无状态协议–用于通过Internet发送请求消息和响应消息–使用端口接收和发送消息,默认为80端口•HTTP消息包括:–请求–响应web相关核心对象的产生请求消息请求行标题信息方法资源名称版本GET/POSTbar01.jpgHTTP/1.1浏览器类型内容类型User-Agent:Mozilla/4.0(compatible;MSIE4.0:Windows95Accept:image/gif,image/jpeg,text/*,*/*响应消息状态行标题信息版本状态代码说明HTTP/1.1200OK服务器软件修改日期大小(字节)内容类型Server:JavaWebServerLastmodified:Tuesday,07-Sep-041:14:34GMTContent-length:100Content-type:text/plainweb相关核心对象的产生HTTP协议使用以下方法发送请求信息–GET方法–POST方法–•GET方法–用于检索信息(如文档、图表或数据库请求结果)–请求的页面可以被设置为书签和使用电子邮件发送–请求信息作为查询字符串发送•POST方法–用于发送敏感信息(如信用卡号)或要保存到数据库中的信息–请求的页面不能设置为书签或不能通过电子邮件发送–发送的数据没有大小限制web相关核心对象的产生目前看来我们获得用户都是从request中获得,当然可能会被第三方框架封装到不同的对象中,如struts1.x中的ActionForm,struts2.x中的Action或bean中,其本质都是从request中获得对象然后在封装到不同的对象中去。而request是如何生成的呢?Request是由容器解析http请求得来的。web相关核心对象的产生POST/demo/servlet/LoginHTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*Referer::zh-cnContent-Type:application/x-:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;MS-RTCLM8)Host:localhost:8080Content-Length:21Connection:Keep-AliveCache-Control:no-cacheCookie:JSESSIONID=8B4E7C1C6CD0307F160699947F1827D7userName=a&password=atelnet发起http请求web.xml,servlet生命周期context-paramcontext-param元素声明应用范围内的初始化参数。filter过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。filter-mapping一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联listenerservletAPI的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。Listener元素指出事件监听程序类。servlet在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。servlet-mapping服务器一般为servlet提供一个缺省的URL:。但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。session-config如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。Web.xml常用配置web.xml,servlet生命周期Servlet生命周期实例化Servlet容器创建Servlet的实例初始化该容器调用init()方法服务如果请求Servlet,则容器调用service()方法销毁实例之前调用destroy()方法销毁不可用销毁实例并标记为垃圾收集web.xml,servlet生命周期如何实现一个统计在线用户数功能如何处理post的中文问题如何处理get的中文问题如何设置session的过期时间会话的含义及作用2次点击页面上的2个按钮,发起2次请求,2次请求的数据是否能够共享response的作用,response如何产生。相关问题容器(tomcat)像大多服务器程序一样,Tomcat6允许容器在不同部分安装多种类装载器(应用java.lang.ClassLoader),运行在容器上的应用程序,必须能存取不同地方的可利用的类和资源。使用这个机制提供Sevlet规范2.4定义的功能。在一个J2SE环境,类装载其被安排在一个父子树中。通常,当一个类装载其被要求用来装载特定的类和资源时,他首先委派请求到父类装载器,如果没有找到请求的类和资源,就在自己的仓库中寻找。应用程序类装载器模块这个有点差别,就像下面讨论的,但是主要原理相同。当Tomcat6启动的时候,他生成一套类装载器,被组织成下面的父子关系,这里父装载器在子装载器之上:Bootstrap|System|Common/\Webapp1Webapp2...Tomcat6的classloader容器(tomcat)Tomcat6的架构容器(tomcat)假设来自客户的请求为:)请求被发送到本机端口8080,被在那里侦听的CoyoteHTTP/1.1Connector获得2)Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应3)Engine获得请求localhost/demo/test.jsp,匹配它所拥有的所有虚拟主机Host4)Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)5)localhostHost获得请求/demo/test.jsp,匹配它所拥有的所有Context6)Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为的Context去处理)Tomcat6处理http请求容器(tomcat)7)path=/demo的Context获得请求/test.jsp,在它的mappingtable中寻找对应的servlet8)Context匹配到URLPATTERN为*.jsp的servlet,对应于JspServlet类9)构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法10)Context把执行完了之后的HttpServletResponse对象返回给Host11)Host把HttpServletResponse对象返回给Engine12)Engine把HttpServletResponse对象返回给Connector13)Connector把HttpServletResponse对象返回给客户browserTomcat6处理http请求tomcat如何修改tomcat的默认端口Tomcat6的classloader和tomcat5的classloader区别Connector和Container的关系Server.xml的熟悉相关问题谢谢!逆水行舟,不进则退!
本文标题:servlet课件
链接地址:https://www.777doc.com/doc-3799111 .html