Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 404对Servlet的GET请求_Java_Jakarta Ee_Servlets_Jboss - Fatal编程技术网

Java 404对Servlet的GET请求

Java 404对Servlet的GET请求,java,jakarta-ee,servlets,jboss,Java,Jakarta Ee,Servlets,Jboss,我已经尝试了3天来创建一个JavaEE项目,它在一个项目中使用JSP、Servlet和EJB,因为我需要完成这门课程的最终作业 我们被指示使用JBoss4.2.3,所以这就是我尝试使用的 我按如下方式设置我的环境: 安装IntelliJ Idea 13 Ultimate 下载JBOSS并准备一个要使用的目录 经过3天的努力,我终于获得了一个示例应用程序,由本教程创建: 现在,应用程序编译完毕,我在:http://localhost:8080/webWeb/ 但是,如果单击404并提交到htt

我已经尝试了3天来创建一个JavaEE项目,它在一个项目中使用JSP、Servlet和EJB,因为我需要完成这门课程的最终作业

我们被指示使用JBoss4.2.3,所以这就是我尝试使用的

我按如下方式设置我的环境:

  • 安装IntelliJ Idea 13 Ultimate
  • 下载JBOSS并准备一个要使用的目录
  • 经过3天的努力,我终于获得了一个示例应用程序,由本教程创建:
  • 现在,应用程序编译完毕,我在:
    http://localhost:8080/webWeb/

    但是,如果单击404并提交到
    http://localhost:8080/webWeb/helloworld

    我不知道还能尝试什么,我想我在谷歌上搜索并阅读了几乎所有的内容:( 这里是一个项目档案的链接,这样你就可以(潜在地)测试我的项目,看看你是否能以某种方式解决这个问题

    谢谢


    更新: 为方便起见,我的HelloWorldServlet.java代码:

    package myservlets;
    
    import mybeans.HelloWorldBean;
    
    import javax.ejb.EJB;
    import java.io.IOException;
    
    @javax.servlet.annotation.WebServlet(name = "HelloWorldServlet", urlPatterns = "/helloworld")
    public class HelloWorldServlet extends javax.servlet.http.HttpServlet {
        @EJB
        private HelloWorldBean helloWorldBean;
        protected void doPost(javax.servlet.http.HttpServletRequest request,
                              javax.servlet.http.HttpServletResponse response)
                throws javax.servlet.ServletException, IOException {
    
        }
        @Override
        protected void doGet(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)
                throws javax.servlet.ServletException, IOException {
            String hello=helloWorldBean.sayHello();
            request.setAttribute("hello",hello);
            request.getRequestDispatcher("hello.jsp").forward(request,response);
        }
    }
    


    我觉得我真的必须补充一点,设置Java以使其正常工作并允许我专注于编码,这是我喜欢PHP之类的东西的原因,例如,它可以正常工作……我错了吗?

    问题是,您使用的JBoss 4.2.3与Servlet 2.5/JSP 2.1一起工作(正如BalusC在这里指出的:).Servlet 3.0支持使用
    @WebServlet
    和注释。因此,您必须直接在web.xml文件中配置Servlet


    请注意,Servet2.5也不支持EJB注入。

    您是否有一个URL模式为
    helloworld
    的servlet,并实现了
    doGet
    方法?此外,您应该在问题中发布相关代码。不要通过外部链接提供代码。@Luigimendoza:我用servlet更新了问题,而不是ks!我只是想我应该提供整个软件包,包括它的部署配置,因为我觉得它与代码无关。在代码编译时。我如何调整代码,以使用较低的Servlet版本?并将EJB使用更改为非注入?创建项目时,我没有办法指定使用Servlet 2.5…参考感谢you@Luiggi,我尝试从头开始重新创建项目,但遵循我的原始教程(),我似乎无法指定Web应用程序版本,唯一的选项是3.1…我还尝试使用JBOSS 6,它应该支持注释,但在部署项目时仍然出现404错误。我应该附加部署的服务器日志吗?您的项目是否有Web.xml来解释您使用的servlet版本“我们正在使用,对吗?否则,应用程序将无法工作。我尝试将web.xml添加到web模块,添加Servlet映射,并尝试使用JBOSS 6.1.0 Final,它应该支持更新版本-不起作用,最后我再次尝试JBOSS 4.2.3版本-它现在可以工作了!我不知道为什么,有什么不同…我观察到even如果我手动在web.xml中为servlet编写version=“2.5”,IDE将无法识别它,而且它仍然无法工作。其他一些方法可以解决这个问题,因为现在它可以工作,我不知道为什么或者什么…但只要它可以,谢谢!)