HttpServletRequest

479 阅读2分钟

getContextPath是获得web应用的名称 页面的请求是通过web。xml里面的配置地址来找到对应的servlet

demo

一:重定向(Redirect)   间接转发方式,有时也叫重定向,它一般用于避免用户的非正常访问。例如:用户在没有登录的情况下访问后台资源,Servlet可以将该HTTP请求重定向到登录页面,让用户登录以后再访问。在Servlet中,通过调用response对象的SendRedirect()方法,告诉浏览器重定向访问指定的URL         二:直接请求转发(Forward)   直接转发方式用的更多一些,一般说的请求转发指的就是直接转发方式。Web应用程序大多会有一个控制器。由控制器来控制请求应该转发给那个信息资源。然后由这些信息资源处理请求,处理完以后还可能转发给另外的信息资源来返回给用户,这个过程就是经典的MVC模式。

  javax.serlvet.RequestDispatcher接口是请求转发器必须实现的接口,由Web容器为Servlet提供实现该接口的对象,通过调用该接口的forward()方法到达请求转发的目的,示例代码如下: //Servlet里处理get请求的方法 public void doGet(HttpServletRequest request , HttpServletResponse response){ //获取请求转发器对象,该转发器的指向通过getRequestDisPatcher()的参数设置 RequestDispatcher requestDispatcher =request.getRequestDispatcher("资源的URL"); //调用forward()方法,转发请求
requestDispatcher.forward(request,response);
} ...... 客户端地址:供外部客户端访问服务器的地址,特点:写上web应用名称 :重定向要使用 服务器地址:供服务器内服资源交互的访问的地址 :转发要使用 demo1:注册功能

客户端提交的数据较多,在原始开发中,需要使用request.getAttribute 来一个个获取,在sevlet层在一个个地进行封装,特别麻烦。现在使用BeanUtils方法可以实现自动映射封装(只要map中的key与实体属性名一致,就将key对应的value复制到属性对于的值上,从而实现封装),需要导commonutils和common-logging

图中,propertis为map类,user为实体

解决乱码问题,当renquest域解码出现乱码时,使用request.setCharacterEncoding("UTF-8")即可解决(只适合ost方式)
以上是解决get请求出现乱码的方法

3)Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的; 4)Get 传输的数据量小,这主要是因为受 URL 长度限制;而 Post 可以传输大量的数据,所以在上传文件只能使用 Post; 前端页面可以通过jsp写的java代码,将域中的数据传到页面