我正在尝试使用Eclipse Juno创建第一个HelloWorld servlet,并在J2EE预览服务器中查看它。
这是我的Servlet类:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorld
*/
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></title>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
这是我的web.xml由eclipse自动生成:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>HelloWorld</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>HelloWorld</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
当我选择“在服务器上运行”>“J2EE预览”时,我得到了这个:
Error 404 - Not Found
此服务器上没有匹配或处理此请求的上下文。此服务器已知的上下文包括:
HelloWorld(/HelloWorld)
我哪里做错了?
3条答案
按热度按时间eimct9ow1#
在“J2EE Preview”服务器中,上下文路径是项目的名称。当你启动服务器时,它会列出所有可用的上下文路径。
例如,如果应用程序名为“app1”,则URL将为“http://localhost:8080/app1/HelloWorld”
unftdfkk2#
我也遇到了同样的问题,但我不能让它工作。我创建了一个简单得多的应用程序,只是一个Hello World JSP页面。
这个过程是非常基本的,你创建一个web动态项目,并在WebContent目录下创建一个index.jsp文件,这应该足以启动你的应用程序运行->运行在服务器-> J2EE预览,但总是得到:
404 Not Found此服务器上没有匹配或处理此请求的上下文。此服务器已知的上下文包括:test(/test)
我听说eclipse juno不像靛蓝那么稳定,我刚下载了indigo的Java EE版本,它工作正常,没有问题。
编辑:我忘了提一下,你可以下载另一个应用程序服务器,如JBoss或Glassfish,并尝试在它们上运行你的应用程序,这应该可以解决你的问题。
您可以尝试通过删除工作区中的所有文件和文件夹来解决此问题,删除.metadata文件夹及其所有内容,启动eclipse并重试,这可能有效。
希望这对你有帮助。问候!
mwyxok5s3#
我遇到了这个问题,我已经解决了它。我搜索了一些信息。你应该把你的项目名称添加到你的内容中,以访问你的特定servlet,它有一些好处如下:标识:通过在URL或内容中包含您的项目名称,用户和开发人员可以更容易地识别您的服务。它为您的网站或应用程序添加了独特的元素。
品牌:包括您的项目名称有助于建立品牌认知和意识。当用户一致地看到您的项目名称时,它会强化您的品牌标识并使其更容易记住。
组织机构:如果在同一服务器上运行多个项目或服务,则添加项目名称有助于组织和区分它们。它可以防止混淆,并实现对不同服务的有效管理。
SEO(搜索引擎优化):在内容中包含您的项目名称可以对搜索引擎排名产生积极影响。搜索引擎在确定搜索结果时会考虑URL和内容中的相关关键字,从而提高服务的可识别性。
沟通方式:将项目名称添加到内容中可使用户轻松地与其他人通信和共享链接。它在讨论或推荐您的服务时提供了一个明确的参考点。