Servlet 获取前端Form表单数据,并实现请求重定向、请求转发

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38038143/article/details/83653241

1.前端界面

编写一个最简单的登录界面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		<form action="/class02/BlogServlet1" method="post">
			用户名:<input type="text" name="username">
			<br>
			密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="password">
			<br>
			<input type="submit" value="登录">
		</form>
	</div>
</body>
</html>

在这里插入图片描述

2. Servlet 编写

共编写2个Servlet(继承 HttpServlet ):

  1. BlogServlet1:
    doPost()
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
		// 获取参数值
		String username = (String) request.getParameter("username");
		String password = (String) request.getParameter("password");
		// 输出到控制台
		System.out.println("username: " + username);
		System.out.println("password: " + password);
		
		// 请求重定向
		// 设置参数值
		request.setAttribute("newName", "sendRedirect");
		response.sendRedirect("/class02/BlogServlet2");
		
		// 请求转发
		// 设置参数值
		request.setAttribute("newName", "RequestDispatcher");
		RequestDispatcher requestDispatcher = request.getRequestDispatcher("/BlogServlet2");
		requestDispatcher.forward(request, response);
	}
  1. BlogServlet2:
    doGet()
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");

		PrintWriter out = response.getWriter();
		// 输出到页面
		out.println("BlogServlet2: <br><br>");
		out.println("name: " + request.getParameter("username") + "<br>");
		out.println("passwd: " + request.getParameter("password") + "<br>");
		out.println("newName: " + request.getAttribute("newName") + "<br>");
	}

3. 运行

注释请求转发:
在这里插入图片描述

结果:URL地址变化
浏览器登录:
在这里插入图片描述
控制台:
在这里插入图片描述
在这里插入图片描述

注释请求重定向:
在这里插入图片描述

结果:
在这里插入图片描述

完!

猜你喜欢

转载自blog.csdn.net/qq_38038143/article/details/83653241
今日推荐