JAVAEE之Servlet进阶

来源:互联网 发布:为什么淘宝不卖太湖石 编辑:程序博客网 时间:2024/06/06 06:35

这里写图片描述

Servlet中的九大内置对象

ServletConfig|config

1、ServletConfig 对象 : init-param 节点中注册的初使化参数被封装ServletConfig对象中;
2、此对象在init方法被调用时由服务器自动创建,并通过参数传递给用户;

--- 通过 init 方法拿到 ServletConfig 对象;--- getServletConfig();

3、ServletConfig API
– getInitParameter(paraname)

ServletContext|application

1、ServletContext:整个WEB应用程序,此对象在工程运运行时创建,在服务器关闭时消失;

– 1、存放所有Servlet共享的数据

– 2、获取应用程序资源

     -- 获取class路径下的资源     -- WEB根路径下的资源

–3、获取ServletContext的初使化数据

2、获取ServletContext;

HttpServletResponse|response

这里写图片描述
1.输出信息
1.通过字节流输出数据:— getOutputStream() —> ServletOutputStream
2、输出字符数据: — getWriter() — >PrintWriter;

HttpServletRequest|request

这里写图片描述

HttpServletRequest:
The servlet container creates an HttpServletRequest object and passes it as an argument to the servlet’s service methods (doGet, doPost, etc).

– 接收来自用户信息(浏览器)
– getHeader(headname);
– getHeaderNames()
– get……

–getParameter(参数名); —>String
–getParameterValues() —>String[]

–getRequestDispatcher(url).forward(request,response);

–解决中文

1、获取网页中的表单数据

request.getParameter(“参数名”);

解决中文乱码问题:

1、单个重新编码
String str = new String (data.getBytes(“ISO-8859-1”,”UTF-8”);
2、统一设置
request.setCharacterEncoding(“UTF-8”);

2、获取URL中的参数数据

 request.getParameter("参数名"); String add = request.getParmeter("add");  String data = new String(add.getBytes("ISO-8859-1"),"UTF-8");

HttpSession|session

HTTPSession:会话(当请求或者访问一个网页,就标识与当前页面建立了一次会话);可以在会话的对象存放数据(标识用户身份的数据),此数据在下一个页面中可以取到(session对象中所存放的数据可以跨页面访问)

– HttpSession session = request.getSession();

– 1、可以在session对象中存放数据;此数据可以跨页面访问
– 2、当访问某一个页面时,服务器会给每一个用户创建一个sessionid,sessionid是唯一的

    此sessionid在服务器内存中存一份,同发送给用户;当提交网页到服务器;将用户端的sessionid和服务器存的sessionid做比对,以判断是哪一个用户提交的;

–3、存活期:默认为30分钟

PrintWriter|JspWriter|out

this(page)

pageContext

exception

只能在标识 isErrorPage的页面中使用

2、Servlet三大域对象

ServletContext|application

HttpSession|session

HttpServletRequest|request

三大域对象都可以存数据,并都可以在页面中取出域对象中的数据

HttpServletRequest域对象中存放数据在同一个Request请求中有效;