码迷,mamicode.com
首页 > 其他好文 > 详细

servlet基础

时间:2016-01-29 16:34:52      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:javaweb

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的生命周期里只能调用一次




本文出自 “代码易” 博客,请务必保留此出处http://codeyi.blog.51cto.com/11082384/1739825

servlet基础

标签:javaweb

原文地址:http://codeyi.blog.51cto.com/11082384/1739825

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!