servlet基础

1.介绍Servlet的基本概念,特点

  1)它是由 java 编写的、服务端程序。

  2)基于Http协议的,运行在web服务器内的。Servlet和CGI都是运行在Web服务器上,用来生成Web页面。

  3)没有 main 方法。是接受来自网络的请求(form表单,以及其他的请求),并对不同请求作出不同的响应。

  4)由容器管理和调用。这个web容器可以控制Servlet对象的生命周期,控制请求由Servlet对象处理。


2.分析Servlet类

  Servlet的继承关系

    javax.servlet.Servlet接口 --> GenericServlet抽象类 --> HttpServlet  -->  自定义类

    必须重载doGet()或者doPost()方法

public class CartServlet extends HttpServlet{
    //overside
	public void init() throws ServletException {
	//put your code
	}
	//overside
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
					//put your code
	}
        //overside
	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
	//put you code
    }
}


3.容器怎么调用对应Servlet

    配置文件 web.xml 中Servert标签可以根据配置一一对应找到对应的Servlet类,

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>CartServlet</servlet-name>
    <!-- 加入包名 -->
    <servlet-class>servlet.CartServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>CartServlet</servlet-name>
    <!-- 以/开始-->
    <url-pattern>/servlet/CartServlet</url-pattern>
  </servlet-mapping>
</web-app>


如果不喜欢web.xml的形式

可以采用在Servlet类中增加注解的方法,去注册Servlet类

@WebServlet(name = "CartServlet", urlPatterns = {"/servlet/CartServlet"})


4.Servlet生命周期的三个核心方法分别是 init() , service() 和 destroy()。

    每个Servlet都会实现这些方法,并且在特定的运行时间调用它们。

init() 方法:Servlet实例的生命周期里只调用一次

service()方法:web容器调用Servlet的service()方法来处理每一个请求,但是我们不用重载这个方法

destory()方法:终结Servlet。可以再Servlet的生命周期内关闭或者销毁一些文件系统或者网络资源,在Servlet的生命周期里只能调用一次




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章