Loading

Servlet

servlet 是JavaServlet的简称,称为小服务程序或者服务连接器,
用java编写的服务端程序,具有独立于平台和协议的特性,主要功能在于交互式的浏览和生成数据,生成动态web内容。
Servlet实现页面的跳转:
Servlet实现页面跳转有两种方法:转发和重定向
在验证登录信息时候,就可以把这两种方法体现出来。
// 登录验证信息 if (user.equals("pan_junbiao的博客") && password.equals("123456")) { // 如果验证成功,则转发succeed.jsp页面,并在页面显示用户名 request.getRequestDispatcher("/WEB-INF/succeed.jsp").forward(request, response); } else { // 如果验证失败,则重定向到登录页面 response.sendRedirect("/login.jsp"); } } }
转发
转发是在服务器端起作用的,当使用 forward() 方法时,Servlet 容器传递HTTP请求,从当前的 Servlet 或 JSP,此过程仍然在 request 的作用范围内。转发后,浏览器的地址栏内容不变。
 
转发使用 HttpServletRequest 对象的.forward() 方法实现,对应的 Servlet 语法格式如下
request.getRequestDispatcher("/WEB-INF/succeed.jsp").forward(request, response);
 
0
重定向
重定向是在用户的浏览器端工作的,是Servlet对浏览器做出响应后,浏览器再次发送一个请求。重定向后,浏览器的地址栏内容发生变化。
重定向使用 HttpServletResponse 对象的sendRedirect()方法实现。
// 如果验证失败,则重定向到登录页面 response.sendRedirect("/login.jsp");
转发和重定向的区别:
最终实现的功能是相同的,不同的如下:
地址栏变化:
转发:不改变URL地址
0
 
重定向:改变URL地址
0
跳转范围
 
   转发: 只能访问到当前web应用中的内容;
   重定向: 则可以访问到任意web应用中的内容;
 
request对象作用范围
   转发: 在转发后的页面中仍然可以使用原来的request对象;
   重定向: 原来的request对象则失去作用;所以,如果想要在多个页面使用相同的request对象,那么只能使用转发,而不能使用重定向。
注意:
  这一句话意思是,重定向其实是发生了两次请求,而request的请求域作用范围是一次请求内,所以不能实现数据共享。
  要想实现数据共享,要么提升作用域,要么只能在当前作用域范围能实现对应的操作。
 
 
0
 
0
十、请求包含
  • 请求包含: 可以合并其他Servlet中的功能一起响应给客户端。
  • 特点:  
  • 浏览器地址栏不变;  
  • 域对象中的数据不丢失;  
  • 被包含的Servlet响应头会丢失;
  • 注意:请求包含跟请求转发用法一样。
 
0
 
响应对象
一.response响应对象介绍
响应:回馈结果
B/S(浏览器接受一个用户的输入)架构中,就是服务器给客户端浏览器返回结果
响应对象:在项目中用于发送响应的对象
 
 
 
 
 
 
 
 
 
 
 
posted @ 2022-03-09 20:15  远乡人  阅读(58)  评论(0编辑  收藏  举报