Java 按文件名访问JSP文件时获取init参数
我正在尝试访问JSP文件中的init参数。 当我从servlet映射中输入url模式时,如下所示: 它工作正常,参数在那里 但当我输入JSP文件名时: 参数为空 web.xml:Java 按文件名访问JSP文件时获取init参数,java,eclipse,jsp,servlets,Java,Eclipse,Jsp,Servlets,我正在尝试访问JSP文件中的init参数。 当我从servlet映射中输入url模式时,如下所示: 它工作正常,参数在那里 但当我输入JSP文件名时: 参数为空 web.xml: <servlet> <servlet-name>testingJSP</servlet-name> <jsp-file>/testing.jsp</jsp-file> <init-param> <param-name>
<servlet>
<servlet-name>testingJSP</servlet-name>
<jsp-file>/testing.jsp</jsp-file>
<init-param>
<param-name>name</param-name>
<param-value>John</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>testingJSP</servlet-name>
<url-pattern>/testingJSP</url-pattern>
</servlet-mapping>
测试JSP
/testing.jsp
名称
约翰
测试JSP
/测试JSP
JSP文件内部:
<%= getInitParameter("name") %>
为什么会这样?如果您添加
<%=getServletConfig().getServletName()%>
到JSP页面,您将看到输出
- 调用
时,
和testingJSP
- 调用
(在Tomcat中)时使用../testing.jsp
jsp
testingJSP
servlet,第二个请求调用容器的JSP servlet。因此,servlet init参数仅在第一个请求中定义。如果添加
<%=getServletConfig().getServletName()%>
到JSP页面,您将看到输出
- 调用
时,
和testingJSP
- 调用
(在Tomcat中)时使用../testing.jsp
jsp
因此,第一个请求调用
testingJSP
servlet,第二个请求调用容器的JSP servlet。因此,servlet init参数仅在第一个请求中定义。如果您想从和
那么你应该加上
<url-pattern>/testing.jsp</url-pattern>
/testing.jsp
给你
<servlet-mapping>
如果要从
和
那么你应该加上
<url-pattern>/testing.jsp</url-pattern>
/testing.jsp
给你
<servlet-mapping>
你的回答让我想到了这一点:这对我来说是完全正确的。谢谢:)你的回答让我想到了这一点:这对我来说是完全正确的。谢谢:)