Java Web Servlet
2017-06-04 11:35
127 查看
Java Web Servlet
Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的Servlet程序。Servlet可完成以下功能:
读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。
【手工编写Servlet】
继承HttpServlet重写doGet()或者doPost()方法
在web.xml中注册Servlet
Servlet的装载三种情况:
1、自动装载:某些Servlet如果需要在Servlet容器启动时就加载,需要在web.xml下它的标签里中,添加优先级代码:<Servlet><load-on-startup>1</load-on-startup></Servlet>
数字越小表示该servlet的优先级越高,会先于其他自动装载的优先级较低的先装载
Servlet容器启动后,客户首次向某个Servlet发送请求时,Tomcat容器会加载它
当Servlet类文件被更新后,也会重新自动加载,Servlet是长期驻留在内存里的。某个Servlet一旦被加载,就会长期存在于服务器的内存里,直到服务器关闭,Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次。
Servlet配置:
<servlet> <!-- 声明Servlet对象 --> <servlet-name>MyServlet</servlet-name> <!-- 上面一句指定Servlet对象的名称 --> <servlet-class>com.servlet.MyServlet</servlet-class> <!-- 上面一句指定Servlet对象的完整位置,包含包名和类名 --> </servlet> <servlet-mapping> <!-- 映射Servlet --> <servlet-name>MyServlett</servlet-name> <!--<servlet-name>与上面<Servlet>标签的<servlet-name>元素相对应,不可以随便起名 --> <url-pattern>/MyServlet</url-pattern> <!-- 上面一句话用于映射访问URL --> </servlet-mapping
[b]Servlet生命周期:[/b]
Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
Servlet 通过调用 init () 方法进行初始化。
Servlet 调用 service() 方法来处理客户端的请求。
Servlet 通过调用 destroy() 方法终止(结束)。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
ServletConfig
ServletConfig是针对特定的Servlet的参数或属性。ServletConfig是表示单独的Servlet的配置和参数,只是适用于特定的Servlet。从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。初始化参数为局部的
<servlet> <servlet-name>ServletConfigDemo</servlet-name> <servlet-class>com.yyz.servletconfig.ServletConfigDemo</servlet-class> <init-param> <param-name>xxx</param-name> <param-value>yyy</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ServletConfigDemo</servlet-name> <url-pattern>/servlet/ServletConfigDemo</url-pattern> </servlet-mapping>
调用形式:
//获取指定的初始化参数 String value = config.getInitParameter("xxx"); response.getOutputStream().write(value.getBytes()); //获取所有的初始化参数 Enumeration<String> e = cofig.getInitParameterNames(); while(e.hasMoreElements()){ String name = e.nextElement(); value = config.getInitParameter(name); response.getOutputStream().write((name+"="+value+"<br/>").getBytes()); }
ServletContext
一个ServletContext对象表示了一个Web应用程序的上下文。Servlet上下文:Servlet上下文提供对应用程序中所有Servlet所共有的各种资源和功能的访问。Servlet上下文API用于设置应用程序中所有Servlet共有的信息。Servlet可能需要共享他们之间的共有信息。运行于同一服务器的Servlet有时会共享资源,如JSP页面、文件和其他Servlet。
初始化参数为全局的
功能:
获取web应用程序的初始化参数
4000
记录日志
application域范围的属性
访问资源文件
获取虚拟路径所映射的本地路径
web应用程序之间的访问
ServletContext的其他方法
相关文章推荐
- 编写一个简单的JAVA WEB Servlet页面
- java web分享ppt大纲 -- servlet容器简介
- java web学习心得与总结(四)——servlet技术
- Java Web之Servlet学习
- java web项目ajax与servlet交互的路径问题
- 传智播客Java web之 Servlet简介以及B/S与C/S的比较
- java web开发中,如何查看JSP和Servlet版本
- 菜鸟学java web(三)-----servlet初步
- Asp.net Core性能对比Asp.net .net Framework和Java Web Servlet
- 猫哥带你去战斗—Java Web开发—Servlet篇[1]—手(首)写Servlet
- Tomcat+Servlet搭建Java Web项目
- Java Web开发——Servlet摘要
- Java Web servlet理解
- java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇
- Java Web开发基础(1)-Servlet
- http,servlet,jsp-java web后台知识简单总结
- java WEB学习笔记32:HttpSession 接口常用方法 及 HttpServletRequest接口中的Session方法 Demo
- 深入理解Java Web——Servlet
- Java Web 之 Servlet - Listener、Filter、Decorator 精辟
- java web中jsp与servlet之间的跳转和传递参数