request请求转发和request域运用

1.请求转发
	1.概述:让服务器跳转到另一个资源上
	2.方法
	    1.request.getRequestDispatcher("跳转资源路径").forward(request, response); 
2.域对象
	1.作用:实现servlet与servlet之间的数据传输功能
	2.例如:Request本质上就是一个域对象, 域对象就是一个容器。
	3.域对象的方法
		1.request.setAttribute(key,value);往request对象中存数据
		2.requet.getAttribute(key)  从request对象中取数据
		3.request.removeAttribute(key)  删除request中的数据。
		4.域对象存储数据的方式是键值对
	4.代码	
		1.Html代码:  
			<html>
			  <head>
			    <title>reg.html</title>
			  </head>
			  <body>
			  	<form action="/day36_login/userServlet" method="post">
			  		用户名:<input type="text" name="username"/><br/>
			  		密码:<input type="password" name="password"/><br/>
			  		<input type="submit" value="提交"/>
			  	</form>
			  </body>
			</html>
		2.UserServlet代码: 
	public class UserServlet extends HttpServlet {
		private UserDao userDao = new UserDao();
				public void doGet(HttpServletRequest request, HttpServletResponse response)
						throws ServletException, IOException {
					//解决乱码
					request.setCharacterEncoding("utf-8");
					//获取请求参数
					String userName = request.getParameter("username");
					String password  = request.getParameter("password");
					User user = new User(userName,password);
					//把数据存储到数据库中
					userDao.save(user);
					// 往request域对象存储数据
					request.setAttribute("USER",user);
					
					//跳转到另外一个Servlet上显示注册是否成功的信息。
			request.getRequestDispatcher("/infoServlet").forward(request, response); //请求转发,跳转到infoServlet	
					
		}
		public void doPost(HttpServletRequest request, HttpServletResponse response)
						throws ServletException, IOException {
					doGet(request, response);
		}
	}
		3.InfoServlet代码:  
			public class InfoServlet extends HttpServlet {
				public void doGet(HttpServletRequest request, HttpServletResponse response)
						throws ServletException, IOException {
					//从域对象对象中取出数据
					User user = (User) request.getAttribute("USER");(强转)
					OutputStream out = response.getOutputStream();
					out.write(("<h1>恭喜"+user.getUsername()+"注册成功</h1>").getBytes());
				}
				public void doPost(HttpServletRequest request, HttpServletResponse response)
						throws ServletException, IOException {
					doGet(request, response);
				}
			 
			}

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值