前后端整合+Request(请求转发)+respon(重定向)+get+post+Filter过滤器

这篇博客详细讲解了前后端交互中的请求Request、表单数据提交(GET/POST)、请求转发、响应Response、重定向以及Filter过滤器的使用。内容涵盖Request对象的方法测试、HTML与Servlet的交互、请求转发实现、Response的响应过程、重定向的两次请求原理及Filter的创建、生命周期和匹配规则。
摘要由CSDN通过智能技术生成

一.请求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"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值