zoukankan      html  css  js  c++  java
  • Hello2 source analisis(代码分析)

    package javaeetutorial.hello2;
    /表示发生某种I / O异常的信号。此类是由失败或中断的I / O操作产生的一般异常类/
    import java.io.IOException;
    /将对象的格式化表示打印到文本输出流。该类实现了所有的打印方法PrintStream。它不包含写入原始字节的方法,程序应使用未编码的字节流。/
    import java.io.PrintWriter;
    /定义一个对象,该对象接收来自客户端的请求,并将它们发送到服务器上的任何资源(例如servlet,HTML文件或JSP文件)。/
    import javax.servlet.RequestDispatcher;
    /定义servlet在遇到困难时可以抛出的一般异常/
    import javax.servlet.ServletException;
    / 用于声明servlet的注释。/
    import javax.servlet.annotation.WebServlet;
    / 提供要进行子类化的抽象类,以创建适用于Web站点的HTTP Servlet
      HttpServlet必须重写至少一个方法的子类 ,通常是以下方法之一:
      doGet,如果servlet支持HTTP GET请求
      doPost,用于HTTP POST请求
      doPut,用于HTTP PUT请求
      doDelete,对于HTTP DELETE请求
      init并且destroy,管理为servlet的生命周期而持有的资源
      getServletInfo,servlet用来提供有关自身的信息/
    import javax.servlet.http.HttpServlet;
    /servlet容器创建一个HttpServletRequest 对象,并将其作为一个参数传递给servlet的服务方法(doGet,doPost等)/
    import javax.servlet.http.HttpServletRequest;
    /servlet容器创建一个HttpServletResponse对象,并将其作为一个参数传递给servlet的服务方法(doGet,doPost等)/
    import javax.servlet.http.HttpServletResponse;
    
    / This is a simple example of an HTTP Servlet. It responds to the GET method ofthe HTTP protocol./
    /注释指定相对于上下文根的URL模式,即在根目录下使用/greeting来访问/
    @WebServlet("/greeting")
    public class GreetingServlet extends HttpServlet {
    
        @Override //注解,对子类的方法进行重写
        public void doGet(HttpServletRequest request,//扩展HttpServlet,对doGet进行重写
                HttpServletResponse response)
                throws ServletException, IOException {
    
            /
              使客户端浏览器区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据,指定响应页面的类型为html
             /
            response.setContentType("text/html");
            /
              指定缓冲区大小
             /
            response.setBufferSize(8192);
            try (PrintWriter out = response.getWriter()) {//实例化对象out,作为向页面输出的对象
                //使用println属性,向html页面输出html标签
                out.println("<html lang="en">"
                        + "<head><title>Servlet Hello</title></head>");
                
                // then write the data of the response
                out.println("<body  bgcolor="#ffffff">"
                        + "<img src="resources/images/duke.waving.gif" "
                        + "alt="Duke waving his hand">"
                        + "<form method="get">"
                        + "<h2>Hello, my name is Duke. What's yours?</h2>"
                        + "<input title="My name is: " type="text" "
                        + "name="username" size="25"/>"
                        + "<p></p>"
                        + "<input type="submit" value="Submit"/>"
                        + "<input type="reset" value="Reset"/>"
                        + "</form>");
                
                String username = request.getParameter("username");//获取input标签内的username的值
                if (username != null && username.length() > 0) {
                    RequestDispatcher dispatcher =
                            getServletContext().getRequestDispatcher("/response");//指定要跳转的URL
                    
                    if (dispatcher != null) {//整合request, response然后跳转
                        dispatcher.include(request, response);
                    }
                }
                out.println("</body></html>");
            }
        }
    
        @Override
        public String getServletInfo() {
            return "The Hello servlet says hello.";
    
        }
    }
    复制代码

    ResponseServlet.java

    复制代码
    @WebServlet("/response")//以@WebServlet注释开头,注释指定相对于上下文根的URL模式。
    public class ResponseServlet extends HttpServlet {
    
        @Override
        public void doGet(HttpServletRequest request,
                HttpServletResponse response)
                throws ServletException, IOException {
            try (PrintWriter out = response.getWriter()) {
                //接收来自greting页面请求中的input标签中输入的username
                String username = request.getParameter("username");
                //使用println属性,向html页面输出内容
                if (username != null && username.length() > 0) {
                    out.println("<h2>Hello, " + username + "!</h2>");
                }
            }
        }
    
        @Override
        public String getServletInfo() {
            return "The Response servlet says hello.";
    
        }
    }
  • 相关阅读:
    【java】对象赋值给另一个对象
    spring boot系列(五)spring boot 配置spring data jpa (查询方法)
    Spring Data JPA 查询
    Spring Data JPA 介绍
    OpenID简介
    OAUTH协议介绍
    URL encoding(URL编码)
    RESTful 介绍
    spring boot系列(四)spring boot 配置spring data jpa (保存修改删除方法)
    spring boot 启动报 java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle 错误
  • 原文地址:https://www.cnblogs.com/wdyaoyao/p/10709308.html
Copyright © 2011-2022 走看看