2-HttpServletRequest对象
HttpServletRequest对象
该对象主要用于接收客户端发送过来的信息,如请求参数、请求头等
HttpServletRequest是ServletRequest的唯一的子接口
接收请求
常用方法
//完整url路径
String url = req.getRequestURL().toString();
//部分路径
String uri = req.getRequestURI();
//获取请求的参数(如果有的话,即路径中`?`后面的字符串)
String query = req.getQueryString();
//请求方式get、post
String method = req.getMethod();
//请求协议(http/1/1)
String protocol = req.getProtocol();
//获取项目站点名
String webapp = req.getContextPath();
请求为【localhost:8083/sr02/servlet02
】时输出:
请求为【localhost:8083/sr02/servlet02?name=xiaod&passwd=123456
】时:
详细参数获取(重点)
//获取指定参数,返回字符串
String name = req.getParameter("name"); //用户名
String passwd = req.getParameter("passwd"); //密码
获取多个同名参数(适用于复选框)
//多个参数名称相同,用数组收集
//如:参数为 name=xiaod&passwd=123456&hobby=sing&hobby=dance
String[] hobbies = req.getParameterValues("hobby");
中文乱码问题
tomcat8以上版本只有get请求会乱码,使用字符串乱码处理方式来解决
使用post请求提交表单时,若含有中文,获取到的是乱码
验证步骤
-
在webapp下创建login.jsp文件
-
在login.jsp下粘贴以下代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录</title> <form method="post" action="servlet02"> 账户名:<input type="text" name="name"> <br> 密码:<input type="password" name="passwd"> <br> <button>登录</button> <!--button默认为提交按钮--> </form> </head> <body> </body> </html>
需要注意,form标签的属性
action
为**注解@WebServlet("/servlet02")**中的servlet02
(不要有斜线),这样就与这个处理类关联起来了 -
运行启动
-
浏览器访问
-
点击登录提交给
Servlet01
类(含有注解@WebServlet("/servlet02")
)处理查看获取到的数据:
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/15383537.html