首页 > 其他分享 >Servlet3

Servlet3

时间:2022-11-20 12:02:08浏览次数:28  
标签:Servlet3 req request URI jsp 跳转 resp

Servlet3

进一步了解Servlet

1. 转发 携带数据

1.1 地址栏不变;

1.2 服务器内部跳转,浏览器不知道

1.3 公用一个request,所以可以在request作用域中存储数据

1.4  A接到用户请求,帮助用户找到B

1.5 只能跳转到当前项目下

1.6 代码实现:req.getRequestDispatcher(URI).forward(req, resp);

 

2. 重定向 不携带数据

2.1 地址栏改变

2.2 浏览器发送新的请求

2.3 不共享一个request

2.4  A接到用户的请求,告诉用户,你去找B

2.5 可以到跳转到其它项目下

2.6 代码实现:resp.sendRedirect(URL);

 

 

小技巧

如果需要传递数据 就使用转发

如果不需要传递数据,可以使用重定向

 

 

3.  request 转发

设置数据到request作用域: req.setAttribute(key , Value);

前台EL表达式取值:${requestScope.Key}

转发:req.getRequestDispatcher(URI).forward(req, resp);

内部跳转,URI只能当前项目下,故不需要加项目名

4.  response 重定向

重定向:resp.sendRedirect(URL);

可以跳转到外部项目,URL前需要加项目名

获取当前项目名:req.getContextPath()

 

 

 

第二个Servlet,登录跳转展示页面

 

1. 添加登录界面login.jsp,成功界面success.jsp,失败界面fail.jsp

2. 新建LoginServlet类,web.xml 设置其 URI的路径

3. 在LoginServlet类中,添加逻辑:

3.1 获取login.jsp前台页面参数

3.2 设定账号验证规则

3.3 验证成功到 success.jsp, 展示用户list信息

3.4 验证失败到 fail.jsp,展示报错信息

3.5 测试重定向和转发 跳转

4. 完成MVC其它代码

5. 使用注解 @WebServlet("URI"),替代web.xml设置

 

 

 

Junit测试类

用于测试service层逻辑

1. 创建一个普通的类

2. 测试类的方法必须是公开,无返回值的方法

3. 被注释@Test修饰

4. 导包Junit4

 

标签:Servlet3,req,request,URI,jsp,跳转,resp
From: https://www.cnblogs.com/Lovew2/p/16908157.html

相关文章