servlet学习笔记

 

1、servletjsp有什么区别?

  从完成功能上来说,servletjsp完全一样。Jsp能够实现的功能servlet也可以,servlet能实现的功能jsp也能够实现。但二者又有很大区别:

  Jsp是在HTTP或者XML文档中嵌入java脚本或者jsp标签形成的,是文本文件;但所有使用servlet完成的功能,包括与用户的交互,都是通过java代码来完成的。

 servlet为纯java代码,所以在编写网页方面非常不方便,而jsp在编写网页时非常方便,但是运行的时候需要转换成java代码,然后编译、加载运行,二者各有利弊。

2、那么,servlet到底是什么东西呢?

  Server + Applet =Servlet 意为服务器端的小程序

  Servlet是用java代码编写的运行在服务器端的小程序,它为服务器提供服务,能够接受web客户端的请求,并能对web客户端进行响应,通常是通过HTTP协议进行工作的。

3、为什么要使用servlet呢?

  1>servlet是持久的,只需要web服务器加载一次,可以在不同请求之间保持服务,不会造成程序初始化的重复执行。

  2>servlet是平台无关性的,one writeexecute anywhere。因为servlet是用java写的,它自然也有java的平台无关性的特性。

  3>servlet可扩展的,它具有java的可扩展性。

  4>servlet是安全的,从外界调用servlet的唯一方法是通过服务器调用,而web服务器(浏览器)提供了高规格的安全保障。

  5>servlet可以在多种多样的客户机上使用。

4、最重要的,servlet是有生命周期的:

  1>Servlet加载:当服务器启动时,或者第一次访问servlet时,web容器加载servlet

  2>初始化:servlet加载后调用构造方法进行实例化,然后调用init方法进行初始化。

  3>服务:当客户机发送请求的时候,服务器创建两个对象,分别是HttpServletRequestHttpServletResponse,前者包含请求信息,后者包含响应信息。

  然后,这两个对象作为参数调用servletservice方法。如果请求是GETmethod="get",调用doGet()方法,如果请求是POSTmethod="post",会调用doPost()方法。Service方法可以处理GETPOST两种请求。在这些方法中,servlet完成对客户端请求的处理和响应。

  销毁:在服务器关闭的时候,或者不再需要servlet时,系统调用destory方法释放资源。

代码:

public class LoginServlet extends HttpServlet {
   private static final long serialVersionUID = 1L;
    public LoginServlet() {
        super();
    }
    public void init(ServletConfig config) throws ServletException {
          System.out.println("初始化servlet");
    }

     public void destroy() {
          System.out.println("销毁servlet");
     }

     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          System.out.println("在此对用户进行响应");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          System.out.println("处理GET请求");
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          System.out.println("处理POST请求");
    }
}

 
   

 Web.xml中的配置

  

<servlet>

    <description>登陆处理</description>

    <display-name>LoginServlet</display-name>

    <servlet-name>LoginServlet</servlet-name>

    <servlet-class>BackServlet.LoginServlet</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>LoginServlet</servlet-name>

    <url-pattern>/LoginServlet</url-pattern>

  </servlet-mapping>

 

<!--EndFragment-->

 

 

<!--EndFragment-->

你可能感兴趣的:(jsp,Web,xml,浏览器,servlet)