9.Java web—JSP内置对象

Posted ~聪聪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.Java web—JSP内置对象相关的知识,希望对你有一定的参考价值。

容器内置了9大对象,这些对象在jsp页无需实例化,可以直接使用。

分别为request、 response 、session、 application 、out、 pageContext 、config 、page、 exception

 

1)request对象

request封装了由客户端请求的http所有细节,包括HTTP头信息,系统信息,请求方式,请求参数

request.getParameter("参数name");  //获取请求的url参数。不存在此参数返回null,存在参数但没有值返回””。

 

在作用域管理属性:

当使用<jsp:forward>请求转发时,可为后面的页面传参数。

request.setAttribute(String name,Object obj);//当前页写入值

request.getAtrribute(String name);//目标页获取到值 ,值为Object,需要转换;有可能name不存在,最好需要判断一下

 

cookie读与取

java里面不能通过已知cookie名称直接获取其值,要循环所有cookies来判断方式获取

//写入cooke,如果有中文,要使用URLEncoder.encode()编码
 Cookie ck=new Cookie("UserInfo", URLEncoder.encode("我是值","utf-8")); 
 ck.setMaxAge(60*60*24*30);//有效期为30天 
 response.addCookie(ck);//给客户端写cookie

取cookie

 String result="";
		Cookie[] cks = request.getCookies();
		if (cks != null) {
			for (Cookie ck : cks) {
				//有中文要使用URLDecoder.decode()来解码
				result+="名称:"+ck.getName()+"  值为:" + URLDecoder.decode(ck.getValue(),"utf-8");
			}
		}

其他请求

<body>
	<br />客户提交信息的方式equest.getMethod():<%=request.getMethod()%>
	<br />使用的协议request.getProtocol():<%=request.getProtocol()%>
	<br />获取发出请求字符串的客户端地址request.getRequestURI():<%=request.getRequestURI()%>
	<br />获取发出请求字符串的客户端地址request.getRequestURL():<%=request.getRequestURL()%>
	<br />获取提交数据的客户端IP地址request.getRemoteAddr():<%=request.getRemoteAddr()%>
	<br />获取服务器端口号request.getServerPort():<%=request.getServerPort()%>
	<br />获取服务器名称request.getServerName():<%=request.getServerName()%>
	<br />获取客户端主机名request.getRemoteHost():<%=request.getRemoteHost()%>
	<br />获取客户端所请求的脚本文件的文件路径request.getServletPath():<%=request.getServletPath()%>
	<br />获取Http协议定义的文件头信息HOST值request.getHeader("host"):<%=request.getHeader("host")%>
	<br />获取Http协议定义的文件头信息User-Agent值request.getHeader("user-agent"):<%=request.getHeader("user-agent")%>
	<br />获取Http协议定义的文件头信息accept-language值request.getHeader("accept-language"):<%=request.getHeader("accept-language")%>
	<br />获取请求文件的绝对路径request.getRealPath("index.jsp"):<%=request.getRealPath("index.jsp")%>
</body>

结果为:

客户提交信息的方式equest.getMethod():GET
使用的协议request.getProtocol():HTTP/1.1
获取发出请求字符串的客户端地址request.getRequestURI():/crm/index.jsp
获取发出请求字符串的客户端地址request.getRequestURL():http://localhost:8080/crm/index.jsp
获取提交数据的客户端IP地址request.getRemoteAddr():0:0:0:0:0:0:0:1
获取服务器端口号request.getServerPort():8080
获取服务器名称request.getServerName():localhost
获取客户端主机名request.getRemoteHost():0:0:0:0:0:0:0:1
获取客户端所请求的脚本文件的文件路径request.getServletPath():/index.jsp
获取Http协议定义的文件头信息HOST值request.getHeader("host"):localhost:8080
获取Http协议定义的文件头信息User-Agent值request.getHeader("user-agent"):Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/69.0.3497.100 Safari/537.36
获取Http协议定义的文件头信息accept-language值request.getHeader("accept-language"):zh-CN,zh;q=0.9
获取请求文件的绝对路径request.getRealPath("index.jsp"):E:studyjava.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappscrmindex.jsp

 

获取客户的国际化信息:

Locale locale=request.getLocale();
if(locale.equals(Locale.CHINA)){
	//当前客户端环境为中文
}

顶替

顶替

枯顶替

顶替













以上是关于9.Java web—JSP内置对象的主要内容,如果未能解决你的问题,请参考以下文章

jsp内置对象之Cookie对象

JAVA Web基础2-JSP九大内置对象

Web基础知识(11)- JSP

Java Web基础 --- Jsp 综述(下)

JSP内置对象

JSP/Servlet Web 学习笔记 DayThree