一.请求Request
是指 从前端浏览器 到 后端的Servlet程序 的访问过程,叫请求的过程
可以使用Servlet提供的Request对象,来解析请求中的请求参数
1.常用方法
getParamter()--按照参数名获取参数值,但是只得到一个值
getParamterValues()--按照参数名获取参数值,但是得到多个值,存入数组
setCharacterEncoding()--如果请求参数中有中文,设置字符集为utf-8
setAttribute()--设置属性
getAttribute()--获取属性
2.测试
1.创建HTML网页
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>前端提交数据,后端解析数据</title>
</head>
<body>
<a href="http://localhost:8090/cgb2109javaweb03_war_exploded/ServletDemo5?name=jerry&pwd=123">点我,提交get数据1</a>
<a href="http://localhost:8090/cgb2109javaweb03_war_exploded/ServletDemo5?hobby=篮球&hobby=足球">点我,提交get数据2</a>
</body>
</html>
2.创建Servlet程序,解析请求参数
package cn.tedu.request;
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.Arrays;
@WebServlet("/ServletDemo5")
public class ServletDemo5 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//当用户以get方式提交数据时,Servlet会自动调用doGet()
//get方式提交的数据,可以一个一个的解析getParameter()
//也可以解析多个值getParameterValues()
//如果使用的是Tomcat7.0以上的版本,get方式提交中文数据不会乱码
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//1,request解析请求参数 name=jerry&pwd=123
//1.1,获取一个值
String s = request.getParameter("name");
System.out.println(s);//获取name参数的值
String pwd = request.getParameter("pwd");
System.out.println(pwd);//获取pwd参数的值
//1.2,获取到多个值
String[] hobbies = request.getParameterValues("hobby");
System.out.println( Arrays.toString(hobbies) );
}
}
二.表单提交数据 默认get method="post"
1.创建HTML网页文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="http://localhost:8090/cgb2109javaweb03_war_exploded/ServletDemo6">
<h3>测试 get提交数据</h3>
姓名:<input type="text" placeholder="请输入姓名..." name="user"/> <br />
密码:<input type="password" placeholder="请输入密码..." name="pwd"/> <br />
<input type="submit" value="提交"/>
</form>
<form method="post"
action="http://localhost:8090/cgb2109javaweb03_war_exploded/ServletDemo6">
<h3>测试 post提交数据</h3>
姓名:<input type="text" placeholder="请输入姓名..." name="user"/> <br />
密码:<input type="password" placeholder="请输入密码..." name="pwd"/> <br />
<input type="submit" value="提交"/>
</form>
</body>
</html>
2.创建Servlet程序,解析get/post方式提交的数据
package cn.tedu.request;
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("/ServletDemo6"