pagecontext.request.contextpat
时间: 2023-04-30 07:02:35 浏览: 100
PageContext.request.contextPath 是Java web应用程序中HttpServletRequest对象的一个属性。它表示应用程序的根路径。在访问应用程序中的资源时,需要使用这个路径来确定资源的位置。
相关问题
pageContext.request.contextPath和pageContext.request.servletPath区别
pageContext.request.contextPath是在JSP页面中使用的,它返回当前Web应用的上下文路径。例如,如果你的Web应用部署在服务器的根路径下,那么contextPath就是空字符串;如果部署在某个子路径下,那么contextPath就是这个子路径。而pageContext.request.servletPath返回的是当前请求的Servlet路径,不包括上下文路径。
举个例子来说,假设你的Web应用部署在服务器的根路径下,而你访问的URL是:http://localhost:8080/myapp/example.jsp,其中myapp是上下文路径,example.jsp是Servlet路径。那么,pageContext.request.contextPath将返回"/myapp",而pageContext.request.servletPath将返回"/example.jsp"。
总结起来,contextPath代表Web应用的上下文路径,servletPath代表当前请求的Servlet路径。
在a.jsp页面中设置各范围的属性str,范围如下: pageContext.PAGE_SCOPE pageContext.REQUEST SCOPE pageContext.SESSION SCOPE 然后转发到b.jsp,在b.jsp读取出来
在JSP页面中,你可以使用`<jsp:setAttribute>`标签将变量绑定到特定的作用域中,比如`PAGE_SCOPE`, `REQUEST_SCOPE`, 或 `SESSION_SCOPE`。以下是在a.jsp页面中设置这些范围属性的例子:
```jsp
<!-- a.jsp -->
<%@ page scope="page" attribute="pageStr"%>
<jsp:setAttribute name="pageStr" value="这是一段在page作用域中的字符串" />
<%@ page scope="request" attribute="requestStr"%>
<jsp:setAttribute name="requestStr" value="这是一段在request作用域中的字符串" />
<%@ page scope="session" attribute="sessionStr"%>
<jsp:setAttribute name="sessionStr" value="这是一段在session作用域中的字符串" %>
<%@ include file="forwardToB.jsp" %>
```
在这个例子中,`<jsp:attribute>`用于设置指定作用域下的变量值。`<%@ include file="forwardToB.jsp" %>`会包含并执行b.jsp文件。
然后,在b.jsp页面,你可以通过`<jsp:getAttribute>`标签来读取这些值,如下所示:
```jsp
<!-- b.jsp -->
<% String pageStr = (String) pageContext.getAttribute("pageStr", PageContext.PAGE_SCOPE); %>
<p>Page Scope: <%= pageStr %></p>
<% String requestStr = (String) pageContext.getAttribute("requestStr", PageContext.REQUEST_SCOPE); %>
<p>Request Scope: <%= requestStr %></p>
<% String sessionStr = (String) pageContext.getAttribute("sessionStr", PageContext.SESSION_SCOPE); %>
<p>Session Scope: <%= sessionStr %></p>
```
这里要注意的是,`<jsp:getAttribute>`需要指定正确的作用域,并提供匹配的属性名。
阅读全文