一、Request通用方式获取请求参数
Map<String,String> getParameteMap():获取所有参数Mapcans参数
String[] getParameter(String name):根据名称获取参数值(数组)
String getParameter(String name):根据名称获取参数值(单个值)
代码示例:
req.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/Tomcate-demo2/req2" method="get"> <input type="text" name="username"><br> <input type="password" name="password"><br> <input type="checkbox" name="hobby" value="1">游泳 <input type="checkbox" name="hobby" value="2">爬山<br> <input type="submit"> </form> </body> </html>
RequestDemo2 :
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.util.Map; @WebServlet("/req2") public class RequestDemo2 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取所有参数的map集合 Map<String, String[]> map = req.getParameterMap(); for (String key : map.keySet()) { // username:zhangsan System.out.print(key + ":"); //获取值 String[] values = map.get(key); for (String value : values) { System.out.print(value + " "); } System.out.println(); } System.out.println("------------"); //2、根据key获取对应的参数组,数组 String[] hobbies = req.getParameterValues("hobby"); for (String hobby : hobbies) { System.out.println(hobby); } //3、根据key,获取单个的参数值 String username = req.getParameter("username"); String password = req.getParameter("password"); System.out.println(username); System.out.println(password); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req,resp); } }
访问req.html,输入数据并且提交:
控制台输出:
二、Servlet模板创建
使用通用方式获取请求参数后,屏蔽了GET和POST的请求方式代码的不同,则代码可以定义为如下格式:
@WebServlet("/req6") public class RequestDemo6 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
可以使用Servlet模板创建Servlet更高效:
第一步选择File中的Setting
第二步根据对应的红框修改模板
第三步点击右键创建新的Sevlet
新的Sevlet