信息获取转发和重定向问题

1.如何在servlet中获取信息
1)servlet中的service()方法用于请求响应信息,
@Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
ServletRequest:封装了请求信息,可以从中获取任何的请求信息
ServletResponse:封装了响应信息,如果我要给用户什么响应,可以使用该接口实现
这两个接口在每一次访问时都被创建。由容器创建的,并且在服务器调用service时候传入

HttpServletRequest 是ServletRequest的子接口,它用于封装 HTTP 请求消息。
HTTP请求的相关方法:
1)获取请求参数
getParameter(String)方法
    根据名字获取一个参数,返回类型为String
getParameterValues (String)方法
    根据名字获取一组相关的数据,返回类型为String[]
getParameterNames ()方法
    获取所有参数的名字,返回类型为Enumeration
 getParameterMap ()方法
    获取所有数据,,返回类型为Map
    
ServletResponse:封装了响应信息,如果我要给用户什么响应,可以使用该接口实现
HttpServletResponse是专用于HTTP协议的ServletResponse子接口,它用于封装HTTP响应消息。
常用方法:
setContentType("text/html;charset=utf-8"):设置响应内容类型
getWriter():返回的是PrintWriter对象,我可调用print()或writer()方法,把这两个方法中的内容输出到浏览器上

登录:当用户输入的用户名和密码等于admin和123456的时候,提示登录成功,相反提示登录失败


请求转发和重定向:
本质区别:请求转发只发送了一次请求,重定向发了两次请求
1)请求转发:地址栏还是初次请求的地址栏
       重定向:地址栏不再是第一次请求的地址,地址栏为最后一次请求的地址
2)请求转发:在最终的servlet中,request对象和中转的request对象是同一个对象
     重定向:在最终的servlet中,request对象和中转的request对象是不是同一个对象
3).请求转发:/代表的是当前web应用的根目录   http://localhost:8080/Servlet02--》这是web应用根目录
   重定向:/代表的是当前web站点的根目录  http://localhost:8080---》这是web站点
4)请求转发:只能转发到当前web应用
   重定向:可以重定向到外部资源
 

猜你喜欢

转载自blog.csdn.net/qq_40678314/article/details/82820039
今日推荐