zoukankan      html  css  js  c++  java
  • hello2 source Analysis

    hello2应用程序是一个Web模块,它使用Java Servlet技术来显示问候语和响应。您可以使用文本编辑器查看应用程序文件,也可以使用NetBeans IDE。

    此应用程序的源代码位于 _tut-install_/examples/web/servlet/hello2/目录中。

    以下直接在源码中通过代码注释来解释源码:

    1.GreetingServlet.java源码文件:

    @WebServlet("/greeting") //以@WebServlet注释开头,注释指定相对于上下文根的URL模式,即在根目录下使用/greeting来访问

    public class GreetingServlet extends HttpServlet {

        @Override

        public void doGet(HttpServletRequest request, //该servlet重写该doGet方法,实现GET HTTP方法

                HttpServletResponse response)

                throws ServletException, IOException {

            response.setContentType("text/html"); //指定响应页面的类型为html

            response.setBufferSize(8192); //指定缓冲区大小

            try (PrintWriter out = response.getWriter()) { //实例化对象out,作为向html页面输出的对象

                

                //使用println属性,向html页面输出html标签,这里输出的是:

                //<html lang=en>

                // <head>

                // <title>Servlet Hello</title>

                // </head>

                out.println("<html lang="en">"

                        + "<head><title>Servlet Hello</title></head>");

                

                //使用println属性,向html页面输出html标签,这里输出的是:

                //<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>)

                

                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>");

                

                //使用一个字符串username来获取,第一个input标签内的username的值

                String username = request.getParameter("username");

                if (username != null && username.length() > 0) {

                    RequestDispatcher dispatcher =

                            getServletContext().getRequestDispatcher("/response");

                            //指定要跳转的页面相对于上下文根的URL模式为/response

                    

                    if (dispatcher != null) {

                        //整合request, response然后跳转

                        dispatcher.include(request, response);

                    }

                }

                //使用println属性,向html页面输出html标签,这里输出的是:

                // </body>

                //</html>

                out.println("</body></html>");

            }

        }

        @Override

        public String getServletInfo() {

            return "The Hello servlet says hello.";

        }

    }

    2.

    ResponseServlet.java源码文件:

     @WebServlet("/response")    //以@WebServlet注释开头,注释指定相对于上下文根的URL模式,
                                 //即在根目录下使用/response来访问,这里作为greting页面的响应页面来实现访问
     public class ResponseServlet extends HttpServlet {
     
         @Override
         public void doGet(HttpServletRequest request,    ////该servlet重写该doGet方法,实现GET HTTP方法
                 HttpServletResponse response)
                 throws ServletException, IOException {
             try (PrintWriter out = response.getWriter()) {        //实例化对象out,作为向html页面输出的对象
                 //接收来自greting页面请求中的input标签中输入的username
                 String username = request.getParameter("username");        
                 if (username != null && username.length() > 0) {
                     //使用println属性,向html页面输出html标签,这里输出的是:
                     //<h2>Hello,XXX(前面输入的username的值)!</h2>
                     out.println("<h2>Hello, " + username + "!</h2>");
                 }
             }
         }
     
         @Override
         public String getServletInfo() {
             return "The Response servlet says hello.";
     
         }
     
  • 相关阅读:
    JS基础_函数的简介
    frp 使用入门
    树莓派开启smb
    python 反射调用
    VIDEOIO ERROR: V4L: can't open camera by index 0 for raspberryPi
    face_recognition 人脸识别报错
    安装FFMpeg CentOS 7
    Centos 7 smb 安装使用
    ImportError: libQtTest.so.4: cannot open shared
    Raspberry Pi 3b+ 配置摄像头
  • 原文地址:https://www.cnblogs.com/Murcie/p/10830248.html
Copyright © 2011-2022 走看看