HttpServletResponse介绍
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。
request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。
HttpServletResponse对象常见应用
1.使用OutputStream流向客户端浏览器输出中文数据
2.使用PrintWriter流向客户端浏览器输出中文数据
3.使用OutputStream或者PrintWriter向客户端浏览器输出数字
4.文件下载
5.HttpServletResponse常见应用——生成验证码
6.HttpServletResponse常见应用——设置响应头控制浏览器的行为
1)设置http响应头控制浏览器禁止缓存当前文档内容
2)设置http响应头控制浏览器定时刷新网页(refresh)
3)通过response实现请求重定向
web工程中URL地址的推荐写法
在JavaWeb开发中,只要是写URL地址,那么建议最好以"/"开头,也就是使用绝对路径的方式,那么这个"/"到底代表什么呢?可以用如下的方式来记忆"/":如果"/"是给服务器用的,则代表当前的web工程,如果"/"是给浏览器用的,则代表webapps目录。
response.sendRedirect(request.getContextPath()+"/index.jsp");
code:https://github.com/bxwhite/javaweb/tree/master/HttpServletResponse
HttpServletRequest介绍
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
Request常用方法
1.获得客户机信息(demo1)
2.获得客户机请求头
3.获得客户机请求参数(客户端提交的数据)(demo3)
- getParameter(String)方法(常用)
- getParameterValues(String name)方法(常用)
- getParameterNames()方法(不常用)
- getParameterMap()方法(编写框架时常用)
4.Request对象实现请求转发(demo2)
请求转发:指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。
在Servlet中实现请求转发的两种方式:
1、通过ServletContext的getRequestDispatcher(String path)方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。
例如:将请求转发的test.jsp页面
1 RequestDispatcher reqDispatcher =this.getServletContext().getRequestDispatcher("/test.jsp"); 2 reqDispatcher.forward(request, response);
2、通过request对象提供的getRequestDispatche(String path)方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。
例如:将请求转发的test.jsp页面
1 request.getRequestDispatcher("/test.jsp").forward(request, response);
code:https://github.com/bxwhite/javaweb/tree/master/HttpServletRequest