1、环境:
idea 2020.1
window 10
java se 1.8.0_271
2、目录结构
3、ParameterServlet.java
package com.serveletTest;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.Arrays;
public class ParameterServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println(req.getParameter("username"));
System.out.println(req.getParameter("password"));
// 当请求参数是数组时
System.out.println(Arrays.asList(req.getParameterValues("hobby")));
System.out.println("----------------------");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
// 设置请求体的字符集为utf-8,从而解决post请求的中文乱码问题
// 也要在获取请求参数之前调用才有效
req.setCharacterEncoding("utf-8");
System.out.println(req.getParameter("username"));
System.out.println(req.getParameter("password"));
System.out.println(Arrays.asList(req.getParameterValues("hobby")));
System.out.println("----------------------");
}
}
4、index.jsp
<%--
Created by IntelliJ IDEA.
User: 20210410A
Date: 2021/5/13
Time: 14:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<form action="http://localhost:11801/servelet_war_exploded/test" method="get">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
兴趣爱好:<input type="checkbox" name="hobby" value="java">java
<input type="checkbox" name="hobby" value="js">js
<input type="checkbox" name="hobby" value="c#">c#
<button type="submit">提交</button>
</form>
<a href="a/b/c.html">a/b/c.html</a>
<br/>
<a href="http://localhost:11801/servelet_war_exploded/forwordC">请求转发:c页面</a>
</body>
</html>
5、输出结果