首页 > 技术文章 > 演示内置对象

whydbk 2020-07-24 15:05 原文

1. page Context对象的使用:
1).协议:
request. getScheme()它可以获求的协仪
<%=request. getScheme()%> <br/>
${pageContext.request.scheme}<br/>
2).服务器ip:
<%= request.getServerName()%><br/>
${pageContext.request.serverName}<br/>
3).服务器端口:
<%= request.getServerPort()%><br/>
${pageContext.request.serverPort}<br/>
4)获取工程路径
<%= request.getContextPath()%><br>
${pageContext.request.contextPath} <br>
5).获取请求方法
<%= request.getMethod()%><br>
${pageContext.request.method}<br>
6).获取客戶端p地址:
<%= request.getRemoteHost()%><br/>
${pageContext.request.remoteHost}<br/>
7),获取会话的编号:
<%=session.getId()%><br/>
${pageContext.session.id}

 

 

 

正常使用 我们都会将 如request 放到pageContext域中


<h2>进阶 将request放到pageContext中</h2>

<%
pageContext.setAttribute("res",request);
%>
${res.session.id}<br/>
${res.serverPort}<br/> etc

然后这样取出 多好

1.param演示:
这个输出从request那传递来的信息 <br/>
http://localhost:8080/05_EL_JSTL/Others.jsp?username=why&psd=741886<br/>
这个?后加入的就是键值对<br/>
${param}<br/>
这个直接输出请求参数username的值:${param.username}<br/>

<h1>-------------------------- 以下是paramValues</h1>
${paramValues}<br/>
输出请求参数 :${paramValues.username[0]}<br/>

<h1>paramValues 和param对比 当我们输出key对应多个值 如hobby有多个的时候</h1>
http://localhost:8080/05_EL_JSTL/Others.jsp?username=why&psd=741886&hobby=java&hobby=cpp<br/>
${param.hobby} 此时这个只能得到第一个值 cpp没了 <br/>
${paramValues.hobby[0]} 依次得到对应元素
${paramValues.hobby[1]}

 


1.header 获取请求头的各种信息
${header}<br/>
<h1>-----------------------------------------------------</h1>
因为map中有特殊的字符所以需要这样输出:${header['User-Agent']} <br/>
${header.Connection}<br/>
使用headervalues数组 []再加[] 否则就会输出一个数组地址<br/>

${headerValues['User-Agent'][0]}


获取cookie的名称 可以先输出cookie 然后在复制key<br/>
${cookie.JSESSIONID.name}<br/>
${cookie.JSESSIONID.value}<br/>


在xml文件中配置的
<context-param>
<param-name>why</param-name>
<param-value>741886</param-value>
</context-param>
注意配置完要重新加载一哈服务器
输出所有${initParam}<br/>
输出map对应的value
${initParam.why}

推荐阅读