Java Maven Jetty插件-servlet是';行不通
我在Java Maven Jetty插件-servlet是';行不通,java,servlets,maven,jetty,Java,Servlets,Maven,Jetty,我在/src/main/java/examples/web/SimpleServlet.java中编写了以下servlet: package examples.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.h
/src/main/java/examples/web/SimpleServlet.java
中编写了以下servlet:
package examples.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SimpleServlet extends HttpServlet {
public void goGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
PrintWriter writer = res.getWriter();
writer.println("SimpleServlet Executed!");
writer.flush();
writer.close();
}
}
以及src/main/webapp/web-INF/web.xml
中定义的以下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-name>SimpleServlet</servlet-name>
<servlet-class>examples.web.SimpleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name>
<url-pattern>/simpleservlet</url-pattern>
</servlet-mapping>
</web-app>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>examples.web</groupId>
<artifactId>simple-webapp</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>simple-webapp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
当我运行mvnjetty:run
时,我得到的输出表明一切都正常工作。当我加载localhost:8080/simple webapp
时,我收到了src/main/webapp/index.jsp
,所以我知道Jetty至少部分工作正常
现在问一个问题:虽然我可以访问index.jsp
,但我无法访问/simple webapp/SimpleServlet
——我刚从Jetty收到一个404错误。由于我在web.xml
中的配置,我希望看到执行SimpleServlet代码>来自SimpleServlet
。我做错了什么
以下是mvn jetty:run的相关输出:
[INFO] Configuring Jetty for project: simple-webapp Maven Webapp
[INFO] Webapp source directory = C:\Users\Ken\Workspace\Eclipse\Maven\simple-webapp\src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = C:\Users\Ken\Workspace\Eclipse\Maven\simple-webapp\target\classes
2011-11-23 16:59:56.220:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
[INFO] Context path = /simple-webapp
[INFO] Tmp directory = determined at runtime
[INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] web.xml file = C:\Users\Ken\Workspace\Eclipse\Maven\simple-webapp\src\main\webapp\WEB-INF\web.xml
[INFO] Webapp directory = C:\Users\Ken\Workspace\Eclipse\Maven\simple-webapp\src\main\webapp
URL区分大小写。定义的URL模式与您请求的值不匹配:
<url-pattern>/simpleservlet</url-pattern>
/simpleservlet
Try(小写servlet名称)。URL区分大小写。定义的URL模式与您请求的值不匹配:
<url-pattern>/simpleservlet</url-pattern>
/simpleservlet
Try(小写servlet名称)。当我这样做时,我得到错误HTTP方法get不受此URL的支持。虽然这是一个完全不同的问题,但对此有什么想法吗?当我这样做时,我得到错误HTTP方法get不受此URL的支持。虽然这是一个完全不同的问题,但对此有什么想法吗?