kbu*_*rns 9 maven-2 jetty embedded-jetty maven
我按照提示创建一个"标准Web应用程序与码头和Maven" 正是作为Eclipse的维基描述:http://wiki.eclipse.org/Jetty/Tutorial/Jetty_and_Maven_HelloWorld#Developing_a_Standard_WebApp_with_Jetty_and_Maven
但是,当我运行webapp(mvn jetty:run)并转到localhost:8080/hello-world/hello时,我最终会遇到"HTTP ERROR 404问题访问/ hello-world/hello.原因:未找到".我已阅读文档,查看了wiki页面的历史记录,探讨了其他论坛和stackoverflow线程,但无法找到这个看似简单的问题的答案.我将发布我的源代码,但它与教程完全相同.
任何帮助,将不胜感激.我真的很想开始玩这种技术,但它仍然沮丧地继续抨击同样的死胡同.
(请注意:创建"JettyMavenHelloWorld"教程的第一部分工作正常.我的问题是第二部分,"JettyMavenHelloWarApp".这一部分标题为"使用Jetty和Maven开发标准WebApp")
JettyMavenHelloWarApp/pom.xml的
<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>org.example</groupId>
<artifactId>hello-world</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Jetty HelloWorld</name>
<properties>
<jettyVersion>7.2.0.v20101020</jettyVersion>
</properties>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jettyVersion}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!-- This plugin is needed for the servlet example -->
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jettyVersion}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution><goals><goal>java</goal></goals></execution>
</executions>
<configuration>
<mainClass>org.example.HelloWorld</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
JettyMavenHelloWarApp/SRC /主/ JAVA /组织/示例/ HelloServlet.java
package org.example;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello Servlet</h1>");
response.getWriter().println("session=" + request.getSession(true).getId());
}
}
Run Code Online (Sandbox Code Playgroud)
JettyMavenHelloWarApp/src目录/主/ web应用/ WEB-INF/web.xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
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"
version="2.5">
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>org.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
JettyMavenHelloWarApp/src目录/主/ web应用/ index.html的
<h1>Hello World Webapp</h1>
<a href="/hello">Hello Servlet</a>
Run Code Online (Sandbox Code Playgroud)
Gre*_*eek 12
你的应用程序上下文仍然是:"/",这样的网址是-该教程给出了不正确的URL http://localhost:8080,并http://localhost:8080/hello分别对静态和动态内容.
maven jetty插件文档确实声称默认上下文的名称与pom.xml中的artifactId相同,但这似乎不起作用.
| 归档时间: |
|
| 查看次数: |
66538 次 |
| 最近记录: |