zoukankan      html  css  js  c++  java
  • hello2部分源码解析

    先放代码:GreetingServlet.java

    /**
    * Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
    *
    * You may not modify, use, reproduce, or distribute this software except in
    * compliance with the terms of the License at:
    * https://github.com/javaee/tutorial-examples/LICENSE.txt
    */
    package javaeetutorial.hello2;

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    /**
    * This is a simple example of an HTTP Servlet. It responds to the GET method of
    * the HTTP protocol.
    */
    @WebServlet("/greeting")
    public class GreetingServlet extends HttpServlet {

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

    response.setContentType("text/html");
    response.setBufferSize(8192);
    try (PrintWriter out = response.getWriter()) {
    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");
    if (username != null && username.length() > 0) {
    RequestDispatcher dispatcher =
    getServletContext().getRequestDispatcher("/response");

    if (dispatcher != null) {
    dispatcher.include(request, response);
    }
    }
    out.println("</body></html>");
    }
    }

    @Override
    public String getServletInfo() {
    return "The Hello servlet says hello.";

    }
    }

    对里面的部分代码分析:

    String username = request.getParameter("username");  //获取通过URL或者form传递过来的数据并赋值给username
    if (username != null && username.length() > 0) {    //对数据进行验证,满足不为空和长度大于0的条件
    RequestDispatcher dispatcher =
    getServletContext().getRequestDispatcher("/response");    
     //获取jsp上下文里边存储了各变量的信息(值),把一个命令发送到浏览器,让浏览器对指定的URL提出请求(此处的URL只能使用绝对路径)
    if (dispatcher != null) {
    dispatcher.include(request, response);    //如果接收到的客户端的请求不为空时,记录保留request和response,以后不能再修改response里表示状态的信息。 
    }
    }

  • 相关阅读:
    svn使用教程各种杂七杂八!
    Python+Django+Eclipse 在Windows下快速网站
    Python Django 框架开发
    【多肉】播种育苗 友情推荐:教你如何买到真种子
    (十一)Json文件配置
    (十)命令行配置
    (九)配置介绍
    visual studio 注释模板
    使用批处理自动发布IIS站点,基于IIS7及以上
    Win10系统无法安装可选功能提示错误代码0x800F081F的解决方法
  • 原文地址:https://www.cnblogs.com/April315/p/10587855.html
Copyright © 2011-2022 走看看