java必知必会-j2ee规范(上)


一、WEB三大规范

  • servlet
  • filter
  • listener

二、j2ee相关接口(上)

1.javax.servlet.Servlet

  • servlet用于获取请求数据、处理请求、完成响应
  • 使用servlet可以实现servlet接口并配置web.xml,但是不推荐
  • init(ServletConfig config);//servlet对象创建的时候执行ServletConfig:代表的是该servlet对象的配置信息
  • service(ServletRequest request,ServletResponse response);//每次请求都会执行
  • destroy();//servlet销毁的时候执行

2.javax.servlet.http.HttpServlet

  • 使用servlet可以继承HttpServlet并复写HttpServlet类的doGet、doPost方法并配置web.xml
  • init();//servlet对象创建的时候执行
  • doGet(HttpServletRequest request,HttpServletResponse response);//每次get请求都会执行
  • doPost(HttpServletRequest request,HttpServletResponse response);//每次post请求都会执行
  • destroy();//servlet销毁的时候执行

3.javax.servlet.ServletRequest

4.javax.servlet.http.HttpServletRequest

  • 获得请求行
    • String getContextPath()获得”/“+web应用名称,例如/WEB15_request
    • String getMethod()
    • String getRequestURI()获得相对web应用地址/WEB15_request/line
    • String getRequestURL()获得绝对路径http://localhost:8080/WEB15_request/line
    • String getRemoteAddr()获得访问的客户端IP地址
    • String getQueryString()get提交url地址后的参数字符串username=lisi&password=123
    • String getProtocol();获取请求行中的协议名和版本
    • String getServletPath();
    • String getRemotePort();
    • String getRemoteHost();
    • String getLocalAddr();
    • String getLocalName();
    • String getLocalHost();
    • int getLocalPort();
    • String getServerName();
    • int getServerPort();
    • String getScheme();//获取请求协议名
    • StringBuffer getRequestURL();
  • 获得请求头
    • String getHeader(String name)
    • Enumeration getHeaders(String name)
    • Enumeration getHeaderNames()
    • Long getDateHeader(String name)
    • int getIntHeader(String name)
    • String getContentType()
    • int getContentLength()
    • String getCharacterEncoding()
  • 获得请求体
    • String getParameter(String name) 多个只获得一个,没有则返回null
    • Map<String,String[]> getParameterMap()获得指定参数名对应的所有键值
    • String[] getParameterValues(String name)获得指定参数名对应的所有值(少用)
    • Enumeration getParameterNames()
  • 乱码:浏览器的中文用UTF-8编码,而HTTP协议使用iSO8859-1编码。不同的浏览器接收和发送数据取决于浏览器类型,通过Http请求体中的User-Agent属性可以辨别
    • post乱码 request.setCharacterEncoding(“UTF-8”);
    • get乱码 String parameter=new String(parameter.getbytes(“iso8859-1”),“utf-8”);
  • 转发 request.getRequestDispatcher(”/?”).forward(req,resp);
  • 域对象
    • Object setAttribute (String name, Object o)set注意名字相同时则覆盖
    • String getAttribute(String name)
    • void removeAttribute(String name)

5.javax.servlet.ServletResponse

6.javax.servlet.http.HttpServletResponse

  • 设置响应行
    • void setStatus(int sc)
    • void sendError(int sc,[String messge])
  • 设置响应头(值不重复)
    • void addHeader(String name, String value)
    • void setHeader(String name, String value);
  • 设置定时刷新的头:setHeader(“refresh”, “5;url=http://www.baidu.com”);
    • void addIntHeader(String name, int value)
    • void setIntHeader(String name, int value)
    • void addDateHeader(String name, long date)
    • void setDateHeader(String name, long date)
    • void setContentLength(int len)
    • void setContentType(String type)
    • void setLocale(Locale loc)
    • void setCharacterEncoding(String charset)
  • 设置响应体
    • getWriter().write(“”)字符串,可以插入标签
    • getOutputStream().write(byte[] bytes) 因为getWriter()之前已调用getOutputStream(),故两者不能同时使用
    • setHeader(“content-Type”,“text/html;charset=utf-8”);中文乱码
    • sendRedirect(“/WEB14/servlet2”);重定向
    • setStatus(302);setHeader(“Location”, “/WEB14/servlet2”);

7. javax.servlet.ServletContext

  • 获得ServletContext
    • ServletConfig.getServletContext();
    • this.getServletContext();(推荐)
  • 获得web.xml全局的初始化参数 getInitParameter(String name);
  • 域对象(整个web应用)
    • void setAtrribute(String name,Object obj);
    • Object getAttribute(String name);
    • void removeAttribute(String name);
  • WebContext目录内任何资源绝对路径
    • String getRealPath(String path);//:/WEB-INF/
    • InputStream getResourceAsStream(String path); 以/开头path相对WebContext目录InputStream

8. javax.servlet.ServletConfig

  • 获得该servlet在web.xml上的name String getServletName();
  • 获得该servlet的初始化的参数
    • String getInitParameter(String name);
    • Enumeration getInitParameterNames();
  • 获得Servletcontext对象 ServletContext getServletContext();

总结

本文介绍了的j2ee规范(上),如有问题欢迎私信和评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值