HttpServlet抽象类,HttpServletRequest接口,HttpServletResponse接口

1.HttpServlet抽象类

        HttpServlet抽象类实现了servlet接口,并将service(ServletRequest req, ServletResponse res)方法中将 ServletRequest 对象和 ServletResponse 对象强转为了 HttpServletRequest、 HttpServletResponse 子类对象,这样更适合于 HTTP 请求的处理,所以在 doGet() 和 doPost()方法中使用的就是 HttpServletRequest、HttpServletResponse 的实现类对象了。

2.HttpServletRequest接口

        1) 获取客户端请求参数的值

                String req.getParameter(String name):获取参数名称为name的值

                Enumeration req.getParameterNames():获取所有的请求参数的名称集合

                Map<String,String[]> req.getParameterMap():获取请求参数的map集合

                String req.getQueryString():获取get请求查询的字符串(既是?后的参数)

                Part req.getPart(String name): 获取表单提交内容name相关的数据信息对象

                Collection<Part> getParts():获取所有表单提交的信息对象Part的集合

        2) 获取请求的方式

                String req.getMehtod():获取请求的方式 get|post...请求方式

        3) 获取请求头参数信息

                String req.getHeader(String hkey):获取头hkey对应的值

                Enumeration req.getHeaderNames(): 获取所有头参数名称集合

                String getRemoteHost():获取远程请求的主机Ip地址

                String req.getRequestURI():获取请求的URI地址

                String req.getRequestedSessionId():获取请求的HTTPSession的id

        4) 获取和Servlet相关的接口对象

                ServletContext req.getServletContext():获取和上下文相关的接口实例

                HTTPSession req.getSession():获取当前请求的会话域对象

        5) 请求设置

                req.setCharacterEncoding(Charset charset):设置请求字符编码,解决post请求中文乱码

                req.setAttribute(String,Object):设置请求域中属性key-value

        6) 页面请求转发跳转

                req.getRequestDispatcher(要跳转的相对项目根目录的地址url).forward(req,resp);

3.HttpServletResponse接口

        1) 获取响应客户的流对象

                PrintWriter resp.getWriter(): 获取输出字符打印流对象

                OutputStream resp.getOutputStream():获取输出字节流对象

        2) 对响应头的信息处理api

                resp.setCharacterEncoding(Charset charset) :设置响应客户端的编码

                resp.setContentType(text/html;charset=utf8) :设置响应的内容类型

                resp.setState(响应码) :设置响应码

                        eg: resp.setState(302):设置重定向和下面的一起使用=resp.sendRedirect(url)

                resp.setHeader(“Location”,url) :设置重定向的位置

                        eg:resp.setHeader(“refresh”,3):设置客户端浏览器没3s刷新一次

        3) 设置客户端下载文件的方式以弹窗的形式和文件名来安全下载

                resp.setHeader(“Content-Dispostion”,”attachment;filename=”+URLEncode.encode(fileName))

        4) 设置让浏览器没有缓存作用

                resp.setDateHeader(“expires”,-1)

                resp.setHeader(“Cache-Contrl”,”no-cache”)

                resp.setHeader(“Pragma”,”no-cache”)

        5) 页面请求重定向跳转

                resp.sentRedirect(要跳转的相对项目根目录的地址url)

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值