java - 从 web.xml 文件获取初始化参数。在 Eclipse 和 Tomcat 中

标签 java eclipse java-8 javaw

我正在关注本教程 http://www.javatpoint.com/config-implicit-object

本教程使用不带servlet的web.xml文件,并使用文件“web.xml”的数据填充文件“welcome.jsp”的变量 我将所有文件放在名为“WebContent”的 Eclipse 的同一文件夹中,但该程序无法运行。我是 Eclipse 和 JSP 的新手

WebContent/index.html

<form action="welcome">  
<input type="text" name="uname">  
<input type="submit" value="go"><br/>  
</form>  

WebContent/web.xml

<web-app>  

<servlet>  
<servlet-name>sonoojaiswal</servlet-name>  
<jsp-file>/welcome.jsp</jsp-file>  

<init-param>  
<param-name>dname</param-name>  
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>  
</init-param>  

</servlet>  

<servlet-mapping>  
<servlet-name>sonoojaiswal</servlet-name>  
<url-pattern>/welcome</url-pattern>  
</servlet-mapping>  

</web-app>  

WebContent/welcome.jsp

<%   
out.print("Welcome "+request.getParameter("uname"));  

String driver=config.getInitParameter("dname");  
out.print("driver name is="+driver);  
%> 

最佳答案

您必须将web.xml放入WEB-INF目录中。这是 servlet 容器所期望的,否则没有效果。将其放入 WEB-INF 还会产生“副作用”,即无法让用户通过浏览器下载该文件(这很糟糕,因为它可能包含敏感的配置信息)。

所以路径应该是WebContent/WEB-INF/web.xml

关于java - 从 web.xml 文件获取初始化参数。在 Eclipse 和 Tomcat 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585925/

相关文章:

java - 如何从 Java 8 Streams 中的 forEach 循环获取列表输出

java - @Produces(MediaType.APPLICATION_JSON) 和 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 参数类型的内部详细信息?

java - 简化长而复杂的正则表达式

java - 注入(inject)EntityListener

java - 如何管理大型项目验收测试的测试数据治具?

Java 9 Eclipse 4.7 可移植导出错误 "resource not found", "Could not find main method from given launch configuration."

java - Eclipse 的 $SWITCH_TABLE$ 是线程安全的吗?

java - 将现有的 Eclipse 项目转换为 Maven 项目