HttpServletResponse代表服务端的一个响应
web服务器接收到服务器客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse对象。
简单来说
如果要获取客户端请求过来的参数:用HttpServletRequest如果要给客户端响应一些数据信息:使用HttpServletResponse1.负责向浏览器发送数据的方法
ServletOutputStream getOutputStream() throws IOException; 字节输出流 PrintWriter getWriter() throws IOException;字符输出流2.负责向浏览器发送响应头的方法
void setCharacterEncoding(String var1); void setContentLength(int var1); void setContentType(String var1); void setBufferSize(int var1); void sendError(int var1, String var2) throws IOException; void sendError(int var1) throws IOException; void sendRedirect(String var1) throws IOException; void setDateHeader(String var1, long var2); void addDateHeader(String var1, long var2); void setHeader(String var1, String var2); void addHeader(String var1, String var2); void setIntHeader(String var1, int var2); void addIntHeader(String var1, int var2); void setStatus(int var1);3.响应状态码常量
1.像浏览器输出消息
2.让浏览器下载文件
1.要获取下载文件的路径
String realPath = this.getServletContext().getRealPath("/蛇哥.png");2.下载的文件名
String filename= realPath.substring(realPath.lastIndexOf("\\")+1); //截取字符串设置想办法让浏览器支持下载我们需要的东西
获取下载文件的输入流
FileInputStream in = new FileInputStream(realPath);创建缓冲区
int len=0; byte[] buffer = new byte[1024];获取输出流 OutputStream对象 将FileOutputStream读到缓冲区 将缓冲区的数据写到客户端
ServletOutputStream out = resp.getOutputStream(); while ((len = in.read(buffer))>0){ out.write(buffer); } in.close(); out.close();7.启动测试。
3.实现验证码
概念:一个WEB资源B收到客户端A请求后,会通知A客户端去访问另一个WEB资源C
面试题:请聊聊重定向和转发的区别?
相同点 页面都会跳转 页面内容会改变 不同点 请求转发的时候,url网址不会产生变化重定向 ,url地址栏会发生变化实现简单的注册
1.首先在JSP文件中写一个表单 提交数据
采用utf-8编码,在jsp文件中,加入下面2句即可: <%@ page language="java" pageEncoding="utf-8"%> <META http-equiv=Content-Type content="text/html; charset=utf-8"> 第一句设置jsp页面的编码方式,第二句是设置输出到浏览器,浏览器选择的编码方式 <%--这里提交的路径需要寻找到项目的路径--%> <%--${pageContext.request.contextPath} 代表请求当前项目--%>如果这个JSP网页是把表单中的内容 提交到/login项目中
2.写出相应的Servlet接口 在web.xml文件中映射到/login地址
并且重定向到sucess.jsp文件上
3.启动测试
输入用户名和密码
点击提交 会提交到/login上 并且由/login重定向到我们写好的succes.jsp文件上
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,Httpq请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法 获得客户端提供的所有信息。
举例
写一个前端JSP文件 里面有表单 通过post方式提交数据到请求中
2.写Servlet接口 通过HttpServletRequest对象获得前端传递的参数
启动测试 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200703233436782.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jzbm1k,size_16,color_FFFFFF,t_70