【DRP】servlet总结

来源:互联网 发布:电子表格相同数据合并 编辑:程序博客网 时间:2024/06/05 16:00

    

前言

servlet就是一个类,其中定义了两个对象:httpServletRequest和httpServletResponse,也定义了两个方法:doGet和doPost。可是是谁调用servlet类,并解析客户端传过来的参数信息,然后调用后台代码的呢?

tomcat容器和servlet的交互

这里写图片描述

这里写图片描述

servlet代码

import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import java.io.*;import java.text.SimpleDateFormat;import javax.servlet.http.*;import javax.servlet.*;public class LoginServlet extends HttpServlet{    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException,IOException{        String sBeginDate = request.getParameter("beginDate");        String sEndDate = request.getParameter("endDate");    try{        Date beginDate = new SimpleDateFormat("yyyy-MM-dd").parse(sBeginDate);        Date endDate = new SimpleDateFormat("yyyy-MM-dd").parse(sEndDate);    }catch(Exception e){        e.printStackTrace();    }    StudentManager studentManager = new StudentManagerImpl();    List<Student> studentList = studentManager.findStudentList(beginDate,endDate);    StringBuffer sbHtml = new StringBuffer();    sbHtml.append("<html>");    sbHtml.append("<head>");    sbHtml.append("<title>学生查询</title>");    sbHtml.append("</head>");    sbHtml.append("<body>");    sbHtml.append("<h1>");    sbHtml.append("出生日期"+ sBeginDate + "至" + sEndDate + "学生列表");    sbHtml.append("</h1>");    sbHtml.append("<hr>");    sbHtml.append("<table border=1>");    sbHtml.append("<tr>");    sbHtml.append("<td>学生代码</td>");    sbHtml.append("<td>姓名</td>");    sbHtml.append("<td>出生日期</td>");    sbHtml.append("<td>年龄</td>");    sbHtml.append("</tr>");    for(Iterator<Student> iter = studnetList.iterator(); iter.hasNext();){        Student student = iter.next();        sbHtml.append("<tr>");        sbHtml.append("<td>");        sbHtml.append(student.getStudentId());        sbHtml.append("</td>");        sbHtml.append("<td>");        sbHtml.append(student.getStudentName());        sbHtml.append("</td>");        sbHtml.append("<td>");        sbHtml.append(new SimpleDateFormat("yyyy-MM-dd").format(student.getBirthday()));        sbHtml.append("</td>");        sbHtml.append("<td>");        long b = 1000L*60L*60L*24L*365L;        long a = System.currentTimeMillis() - student.getBirthday().getTime();        sbHtml.append(a/b);        sbHtml.append("</td>");        sbHtml.append("</tr>");    }    sbHtml.append("</table>");    sbHtml.append("</body>");    sbHtml.append("</html>");    response.setContentType("text/html;charset=GBK");    response.getWriter().println(sbHtml.toString());    }}

servlet在web.xml中的配置

<servlet>    <servlet-name>StudentServlet</servlet-name>    <servlet-class>StudentServlet</servlet-class></servlet><servlet-mapping>    <servlet-name>StudentServlet</servlet-name>    <url-pattern>/StudentServlet</url-pattern></servlet-mapping>

结语

    tomcat是一个容器,管理servlet对象的生命周期。网页上通过get或post向服务器传过去一个网址。tomcat通过解析这个网址,找到要使用的servlet类的名字。然后去web.xml中找到servlet类对应的地址。先创建httpServletRequest和httpServletResponse两个对象,然后加载、初始化、实例化servlet类并把request和response两个对象传入;
    servlet中调用后台的代码。

原创粉丝点击