hello2 代码分析

greeting

 

首先import一些包

  1. java.io.IOException

    i/o异常,此类为失败或中断等出现异常的 I/O操作出现的异常类

 

  2.java.io.PrintWriter

   将格式化并打印到输出流。该类包含所有打印类的方法。  ps:它不包含写入原始字节的方法,程序应使用未编码的字节流。

 

3.javax.servlet.RequestDispatcher

  该类定义servlet所接受的来自客户端的请求,发送任意服务器的资源

 

4.javax.servlet.servlet.servletException

    定义servlet在异常时可以抛出的一般异常

  5.javax.servlet.annotation.WebServlet;
    定义servlet所用的注解

  6.javax.servlet.http.HttpServlet


    这是一个抽象类,通过该类进行子类化,创建适用于Web站点的HTTP ServletHttpServlet
    必须重写至少一个方法的子类 ,
    通常是以下方法之一:doGet,如果servlet支持HTTP GET请求doPost,用于HTTP POST请求doPut,
用于HTTP PUT请求doDelete,对于HTTP DELETE请求init并且destroy,

管理为servlet的生命周期而持有的资源getServletInfo,servlet用来提供有关自身的信息

  7.javax.servlet.http.HttpServletRequest;
     servlet容器创建一个HttpServletRequest 对象,并将其作为一个参数传递给ser

之后
  
@WebServlet("/greeting") 注解指定在根目录 / 下的greeting访问
 @Override 对子类的方法进行重写
public void doGet 重写doget方法 接受到get请求后做出的反应
   response.setContentType("text/html") 指定响头MIME类别为html文件使得浏览器呈现网页
   response.setBufferSize 设置缓冲区大小
   try (PrintWriter out = response.getWriter()) 实例化对象out,向页面输出
   out.println("........         响应体写入HTML文档
   String username = request.getParameter("username") 获取input标签username属性值
   判断username值有无并跳向 /response
   如果dispatcher为空则整合response之后再跳转




ResponseServlet

  
@WebServlet("/response") 指定在上文目录下的/response访问
   .......
    @Override
      public void doGet(.......
        ...........
        String username = request.getParameter("username");
           取得greeting中input标签username属性值
     if (username != null && username.length() > 0) {
       out.println("<h2>Hello, " + username + "!</h2>");
    }
          println方法,使用向html页面输出内容

        

   
 
 
 

    

posted @ 2019-03-24 20:27  liit  阅读(96)  评论(0编辑  收藏  举报