Servlet简介
Servlet是运行在web容器上的小程序。这种程序使用Java编程语言实现。在通信量大的服务器上,Servlet的优点在于它们的执行速度快于CGI程序,各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进行,这意味着服务器端处理请求的系统开销明显降低。
Servlet生命周期
服务器收到客户端的请求后:
1.web容器判断相应的Servlet类是否已加载到内存,并创建了该Servlet的实例。如果是,则转到第4步,否则第2步;
2.加载并创建该Servlet类的一个实例对象;
3.调用Servlet实例对象的init()方法;
4.创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应的HttpServletResponse对象,然后调用servlet的service()方法并将这两个对象做为参数传递;
5.web容器被停止或是重启之前,调用Servlet的Destroy()方法消毁实例对象。
所有的servlet需要继承于HttpServlet类,需要重写其doGet和doPost方法。
package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Cart */ @WebServlet("/Cart") public class Cart extends HttpServlet { private static final long serialVersionUID = 1L; private String action; /** * @see HttpServlet#HttpServlet() */ public Cart() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getParameter("action") != null) { this.action = request.getParameter("action"); if (this.action.equals("add")) { this.addToCart(request, response); } else if (this.action.equals("remove")) { this.removeFromCart(request, response); } else if (this.action.equals("list")) { this.showCart(request, response); } } } protected void addToCart(HttpServletRequest request, HttpServletResponse response) { Integer itemId = Integer.parseInt(request.getParameter("itemId")); } protected void showCart(HttpServletRequest request, HttpServletResponse response) { } protected void removeFromCart(HttpServletRequest request, HttpServletResponse response) { } }
写好一个Servlet类之后,需要在位于WEB-INF目录下的web.xml文件中将其注册。
注册一个servlet需要以下两做代码,第一个是要将servlet类注册到系统中,第二个则是将servlet的方问路径注册到系统中,这里需要注意的是在url-pattern中一定要是以"/"开始,否则会提示404错误。
<servlet> <servlet-name>SERVLET NAME</servlet-name> <servlet-class>SERVLET CLASS NAME INCLUDED PACKAGE NAME</servlet-class> <servlet> <servlet-mapping> <servlet-name>SERVLET NAME</servlet-name> <url-pattern>/ACCESS PATH</url-pattern> </servlet-mapping>
PS:WEB-INF目录中存入的是访问受限的文件,如果将默认的index.jsp文件或是其他无需访问控制的jsp文件也放入这个目录,可能会导致该浏览器无法读取该文件内容。
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关推荐
java Servlet 学习笔记分享很详细
Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all
Java相关课程系列笔记之一Java学习笔记 Java相关课程系列笔记之四JDBC学习笔记 Java相关课程系列笔记之六HTML学习笔记 Java相关课程系列笔记之七CSS学习笔记 Java相关课程系列笔记之八JavaScript学习笔记 Java相关...
servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记
Servlet学习笔记Servlet学习笔记
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
林学良Jsp&Servlet学习笔记,html格式的,很基础的学习文档。
Servlet学习笔记
JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷
Java web中servlet学习笔记 核心。servlet执行过程、servlet生命周期、继承类、创建servlet、servlet线程安全、配置信息
[JSP&Servlet;学习笔记(第2版)]。
JSP&Servlet学习笔记,适合初学jsp和servlet的人群,初学者学习可能有点困难
JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 本书针对Servlet3.0的新功能全面改版,无论章节架构...
看过方立勋老师的课程之后 做的一点小笔记 以后拿出来复习复习 不对之处 请见谅 本人只是默默的一只菜鸟
Java Servlet 学习课件 Java Servlet 学习课件
servlet学习笔记.doc
本人资源全部免费,更多资源请查看我的上传资源 ==========================... 著作:《Java JDK 5.0学习笔记》、《Java SE 6技术手册》、《Spring技术手册》等 译作:《Ajax实战手册》、《jQuery实战手册(第2版)》
[JSP&Servlet学习笔记(第2版)] 林信良