当前位置: 首页 > 知识库问答 >
问题:

按文件名访问JSP文件时获取init参数

阚正真
2023-03-14

我正在尝试访问JSP文件中的init参数。当我从servlet映射输入URL模式时,就像下面这样:http://localhost:8080/jee_learning/testingjsp它工作得很好,参数就在那里。

但是当我输入一个JSP文件名:http://localhost:8080/jee_learning/testing.JSP时,参数为NULL。

web.xml:

<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文件内部:

<%= getInitParameter("name") %>

这是为什么?

共有2个答案

吉鸿宝
2023-03-14

如果要从
http://localhost:8080/jee_learning/testingjsp和
http://localhost:8080/jee_learning/testing.jsp
访问name参数,则应添加

<url-pattern>/testing.jsp</url-pattern>    

给你的

<servlet-mapping>
齐嘉庆
2023-03-14

如果添加

<%=getServletConfig().getServletName()%>

到JSP页面,您将看到输出

    调用 .../testingjsp和时,
  • testingjsp 调用.../testing.jsp时,
  • jsp(在Tomcat中)。

因此,第一个请求调用testingjspservlet,第二个请求调用容器的JSP servlet。因此,servlet init参数只在第一个请求中定义。

 类似资料:
  • 问题内容: 有没有一种方法可以使用JSTL或Struts(或不使用)获得当前呈现的JSP?像Python和PHP中的_文件_一样? 问题答案: 好吧…是的…某种程度上 我正在使用一个名为JSP的名称,该名称包含在我的Web应用程序中每个JSP的顶部: 另外,我将其放在每个JSP的末尾: 那给了我一个日志。为了确保每个JSP都是“正确的”,我在构建脚本中进行了检查,该脚本仅查找两个字符串和“ END

  • X1.6.0新增 sp_get_asset_upload_path($file,$style='') 功能: 转化数据库保存的文件路径,为可以访问的url 参数: $file: 数据库保存的文件路径 $style:样式(七牛) 返回: 类型string,文件可以访问的url 使用: $url = sp_get_asset_upload_path('portal/23232.png');

  • 我在eclipse(juno)中创建了一个简单的hello.jsp程序,当我试图通过run on server来运行这个jsp文件时,得到了以下错误 出现问题, 我已经删除了eclipse&tomcat服务器,然后重新安装。但是仍然得到相同的错误。我尝试选择服务器位置作为使用自定义位置,并给出不同的工作区路径。但什么都不管用。 我使用的是eclipse Juno、apache Tomcat-V6.

  • 问题内容: 如果我有文件指针,是否可以获取文件名? 可以使用吗? 问题答案: 您可以通过获得路径。例: 如果 只 需要文件名,则可能需要: 文件对象文档(适用于Python 2)在此处。

  • 我刚刚开始使用JSP,遇到了一个问题。 据我所知,WEB-INF下的JSP页面可以通过浏览器在localhost中使用URL进行访问: 但是,如果我在WEB-INF文件夹(即'MyFolder')中创建另一个子文件夹,并尝试通过URL访问相同的JSP页面: 它给出了一个错误404。JSP文件导航系统与HTML文件导航系统有区别吗? 编辑:我正在使用servlet来显示我的JSP页面: EDIT2: