学习笔记---jsp---servlet

7.0写servlet类

package  china.dalian;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Hello extends HttpServlet{
    public void init(ServletConfig config) throws ServletException{
        super.init(config);
     } 
     public void service(HttpServletRequest request,HttpServletResponse response) throws IOException{
         response.setContentType("text/html;charset=gb2312");
         PrintWriter out = response.getWriter();//获得一个向用户发送数据的输出流
         out.println("<html><body>");
         out.println("<h2>你好,欢迎学习servlet。</h2>");
         out.println("</body></html>");
      }
 }

7.2编写web.xml文件

7.2.1一个XML文档以XML声明作为文件的第一行<?xml  version="1.0" encoding="ISO-8859-1" ?>

7.2.2有一个根标记<web-app></web-app>

7.2.3servlet标记及其字标记 

7.2.4<servlet>及<servlet-name>、<servlet-class>

7.2.5<servlet-mapping>    and  <servlet-name>    and  <url-pattern>

demo:

<?xml  version="1.0" encoding="ISO-8859-1" ?>

<web-app>

  <servlet>

    <servlet-name>hello</servlet-name>                   //tomcat服务器创建的servlet对象的名称

    <servlet-class>china.dalian.Hello</servlet-class>   //指定tomcat服务器用哪个servlet类来创建servlet对象

  </servlet>

  <servlet-mapping>

    <servlet-name>Hello</servlet-name>                 //必须和前面的一样

    <url-pattern>\lookHello</url-pattern>      //指定用户用怎样的模式来请求servlet对象

  </servlet-mapping>

</web-app>

7.3servlet对象的生命周期:

                  servlet对象由tomcat服务器负责管理,通过读取web.xml文件创建运行servlet对象。

7.3.1 初始化servlet对象

7.3.2  调用service方法响应用户的请求

7.3.3   destroy方法消灭servlet对象

 

用户除了可以在浏览器的地址栏中直接输入servlet对象的请求格式来请求运行一个servlet外,也可以通过jsp页面来请求。

            jsp页面可以通过表单或超链接来请求servlet

       <form  action="lookHello" method="post"> </form>

      < A href ="lookHello">chan  kan </A>

7.4   doGet()和doPost()方法

          当服务器创建servlet对象后,该对象就会调用init()方法初始化自己,以后每当服务器在接受到一个servlet请求时,就会产生一个新线程,并在这个新线程中让servlet对象调用service方法检查HTTP请求类型(get或post),所以,在servlet类中不必重写service方法来响应用户,直接继承service方法就行。可以在servlet类中重写doGet和doPost方法来响应用户的请求。

        当get和post方法,服务器要处理的过程完全相同时,那么可以只在doPost方法中编写处理过程,在doGet方法中调用doPost方法就行。反之也一样。如果根据请求的类型进行不同的处理,就需要在两个方法中编写不同的处理过程。

public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException ,ServletException{}

 

public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException ,ServletException{

        doPost(request,response);

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。