java - web.xml导致Tomcat7失败

标签 java xml jsp tomcat servlets

我有一个基本的 servlet。

我使用 tomcat 7 来运行它。

服务器包含 3 个文件:

  1. file.jsp - 打印日期

  2. WebController - servlet。

  3. web.xml - 配置文件。

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
          <servlet-name>file.jsp</servlet-name>
          <jsp-file>file.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
          <servlet-name>file.jsp</servlet-name>
          <url-pattern>/about</url-pattern>
    </servlet-mapping>
</web-app>

当我删除 <servlet><servlet-mapping>来自 web.xml文件,servlet 运行良好。

web.xml如上所述,我收到以下错误消息:

'Staring Tomcat v7.0 Server at localhost' has encountered a problem.

Server Tomcat v7.0 Server at localhost failed to start.

我正在使用 eclipse 。我的 web.xml 有什么问题?文件?提前致谢!

编辑:

这是我的项目:

enter image description here

更新:

当前版本web.xml :

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
          <servlet-name>file.jsp</servlet-name>
          <jsp-file>/file.jsp</jsp-file>
    </servlet>

    <servlet>
        <servlet-name>WebController</servlet-name>
        <servlet-class>WebController</servlet-class>
    </servlet>

    <servlet-mapping>
          <servlet-name>file.jsp</servlet-name>
          <url-pattern>/about</url-pattern>
    </servlet-mapping>
</web-app>

最佳答案

您的 jsp 文件不能在 WEB-INF 中。 将其放在项目的根目录中

更新 web.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
      <servlet-name>file.jsp</servlet-name>
      <jsp-file>/file.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
      <servlet-name>file.jsp</servlet-name>
      <url-pattern>/about</url-pattern>
    </servlet-mapping>
</web-app>

你的项目应该是这样的:

/myjspapp
   /file.jsp
   /WEB-INF
      /web.xml

您现在可以通过以下网址访问您的 jsp:localhost:8080/myjspapp/about

关于java - web.xml导致Tomcat7失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20199412/

相关文章:

java - 使用 LOAD DATA INFILE 时如何有选择地更新表中的列?

java - 在什么情况下Java性能会随着内存的增加而降低?

java - 哪些插件用于在 Google Chrome 浏览器中查找定位器?

java - 关于根元素的 Jaxb 问题

Java Dom 获取属性

java - 单击按钮后更新按钮文本

jsp - 为什么 JSP 不映射到 web.xml 而 servlet 映射

Java 8 Lambda 创建一个映射,其中值是列表的包装对象

java - Tomcat session 超时 web.xml

java - Liferay <门户组件 :actionURL>