web应用开发:HTTP请求

实验要求
完成http请求对象的学习,设计一个案例,用户访问一个表单页面,在该页面上用户填写用户名,密码,地址,爱好(复选框),提交给servlet1,在servlet1中通过setAttribute设置key为author,值为自己姓名,然后转发给servlet2,在servlet2中输出表单数据,作者,客户端服务器IP地址,请求行中referer参数,请求url,contextpath,servletpath,客户端服务器IP地址等信息,运行结果和关键代码截图。
实验代码:
web.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>Servlet01</servlet-name>
        <servlet-class>twl.Servlet01</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet01</servlet-name>
        <url-pattern>/servlet01</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>Servlet02</servlet-name>
        <servlet-class>twl.Servlet02</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet02</servlet-name>
        <url-pattern>/servlet02</url-pattern>
    </servlet-mapping>
</web-app>

form.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户信息</title>
</head>
<body>
<form action="/servlet11/servlet01" method="get">
    <table>
        <tr>
            <td>用户名:</td><td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>密码:</td><td><input type="password" name="password"></td>
        </tr>
        <tr>
            <td>地址:</td><td><input type="address" name="address"></td>
        </tr>
        <tr>
            <td>爱好:</td>
            <td>
                <input type="checkbox" name="hobby" value="sing">唱歌
                <input type="checkbox" name="hobby" value="dance">跳舞
                <input type="checkbox" name="hobby" value="football">足球
            </td>
        </tr>
    </table>
    <input type="submit" value="提交">
</form>
</body>
</html>

Servlet01代码如下:

package twl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "Servlet01")
public class Servlet01 extends HttpServlet {
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        doGet(request,response);
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        response.setContentType("text/html;charset=UTF-8");
        request.setAttribute("Author","唐文莉");
        request.getRequestDispatcher("/servlet02").forward(request,response);
    }
}

Servlet02代码如下:

package twl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
@WebServlet(name = "Servlet02")
public class Servlet02 extends HttpServlet {
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        doGet(request,response);
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out=response.getWriter();
        out.println("Author:"+request.getAttribute("Author")+"<hr>");
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        String address=request.getParameter("address");
        String[] hobbies = request.getParameterValues("hobby");
        out.println("用户名:"+username+"<hr>");
        out.println("密码:"+password+"<hr>");
        out.println("地址:"+address+"<hr>");
        out.println("爱好:"+Arrays.toString(hobbies)+"<hr>");
        out.println("getMethod:"+request.getMethod()+"<hr>");
        out.println("getProtocol:"+request.getProtocol()+"<hr>");
        out.println("getContextPath:"+request.getContextPath()+"<hr>");
        out.println("getServletPath:"+request.getServletPath()+"<hr>");
        out.println("getRequestURI:"+request.getRequestURI()+"<hr>");
        out.println("getRequestURI:"+request.getRequestURI()+"<hr>");
        out.println("getQueryString:"+request.getQueryString()+"<hr>");
        out.println("getLocalAddr:"+request.getLocalAddr()+"<hr>");
        out.println("getRemoteAddr:"+request.getRemoteAddr()+"<hr>");
    }
}

运行结果代码截图如下:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43916678/article/details/105327379
今日推荐