我有麻烦启动正确的tomcat。 我在Eclipse中安装了tomkat 8(带有servlet-api 3.1)。 Window-Preference-Server-Runtime Invirements- Add- Apache Tomcat v8.0 - 目录(C:\ apache-tomcat-8.0.28) - 完成 但Eclipse使用servlet-api 2.x运行tomcat。 System.out.println(getServletContext()。getMajorVersion())显示2。 如何启动tomcat哪个getServletContext()。getMajorVersion()必须是3?
的web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!-- SERVLET -->
<servlet>
<servlet-name>ServletMenu</servlet-name>
<jsp-file>/menu.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>ServletMenu</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- SERVLET -->
<servlet>
<servlet-name>ServletList</servlet-name>
<jsp-file>/list.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>ServletList</servlet-name>
<url-pattern>/list.do</url-pattern>
</servlet-mapping>
<!-- SERVLET -->
<servlet>
<servlet-name>ServletImport</servlet-name>
<jsp-file>/import.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>ServletImport</servlet-name>
<url-pattern>/import.do</url-pattern>
</servlet-mapping>
<!-- SERVLET -->
<servlet>
<servlet-name>Menu</servlet-name>
<servlet-class>com.training.Menu</servlet-class>
</servlet>
<!-- SERVLET MAPPING -->
<servlet-mapping>
<servlet-name>Menu</servlet-name>
<url-pattern>/menu</url-pattern>
</servlet-mapping>
<!-- SERVLET -->
<servlet>
<servlet-name>List</servlet-name>
<servlet-class>com.training.ListDisplay</servlet-class>
</servlet>
<!-- SERVLET MAPPING -->
<servlet-mapping>
<servlet-name>List</servlet-name>
<url-pattern>/list.do</url-pattern>
</servlet-mapping>
<!-- SERVLET -->
<servlet>
<servlet-name>Import</servlet-name>
<servlet-class>com.training.Import</servlet-class>
</servlet>
<!-- SERVLET MAPPING -->
<servlet-mapping>
<servlet-name>Import</servlet-name>
<url-pattern>/import</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>menu.jsp</welcome-file>
</welcome-file-list>
</web-app>
答案 0 :(得分:0)
为Servlets 3.1声明一个标头,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- proper configuration of your app -->
</web-app>