servlet常用对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38129062/article/details/88420004

servlet常用对象

HttpServletRequest对象

作为作用域对象
一个请求服务器会new一个request对象。属于同一个请求的所有servlet/jsp共享该对象。
Request记录的是库的请求信息,如:用户名、密码等

setAttribute(“a”,”AAA”) 设置属性
getAttribute(“a”) 取得属性
removeAttribute(“a”) 删除属性
getAttributeNames() 返回枚举,对所有属性遍历处理

request的Attribute是key/value格式的,所以通常用setAttribute(“a”,”AAA”)来设定属性值,然后用get来获取值。
语法就是:

request.setAttribute("a", "aaa");
request.getAttribute("a")
request.removeAttribute("a");

HttpServletResponse对象

服务器端的响应信息被封装在这个对象中
响应信息由response对象传送给web服务器,再由web服务器发送给客户端


转发和重定向的区别:

请求重定向 response.sendRedirect(URL) 请求转发 request.getRequestDispatcher(“LoginPage”).forward(request, response);
地址栏改变,可以访问本web应用以外的资源 地址栏不改变,只能访问本web应用资源
整个过程发送两次请求 整个过程是一次请求
不加/是相对本servlet所在请求的目录, 加/表示端口号后面的根目录 不加/是相对本servlet,加/表示web应用的根目录
sendRedirect后面语句仍然会被执行,所以一般加return 请求转发之后的语句仍然会被执行。所以,一般在该语句执行之后加return
null 由于多个servlet之间属于同一个请求,共享同一个request对象,所以可以通过request作用域来共享传递一些信息

ServletConfig对象

一般用于处理某个servlet在配置文件配置信息getInitParameter

   <servlet>
    <servlet-name>ParamServlet</servlet-name>
    <servlet-class>com.neusoft.test.ParamServlet</servlet-class>
    
    <init-param>
    	<param-name>code</param-name>
    	<param-value>utf-8</param-value>
    </init-param>
    
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>ParamServlet</servlet-name>
  	<url-pattern>/ParamServlet</url-pattern>
  </servlet-mapping>
public class ParamServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ServletConfig sc = getServletConfig();
		String code = sc.getInitParameter("code");
		System.out.println(code);                   //是获取配置信息:init-param的值的。
	}
}

ServletContext对象

ServletContext和ServletConfig整体是差不多的,但是Config是在servlet标签里面书写的,你可以把他想成一个局部变量,而Context是和servlet标签是平级的,可以把它想成成员变量。

 <context-param>
  	<param-name>username</param-name>
  	<param-value>root</param-value>
  </context-param>
public class ParamServlet extends HttpServlet {
	/* (non-Javadoc)
	 * @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ServletConfig sc = getServletConfig();
		String code = sc.getInitParameter("code");
		ServletContext scon=getServletContext();
		String username = scon.getInitParameter("username");
		System.out.println(code);
		System.out.println(username);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_38129062/article/details/88420004
今日推荐