404请求Servlet的GET请求

时间:2014-06-18 21:49:33

标签: java java-ee servlets jboss

我已经尝试了3天来创建一个Java EE项目,它在一个项目中使用JSP,Servlet和EJB,因为我需要对此进行课程最终分配。

我们被指示使用JBOSS 4.2.3,这就是我尝试使用的。

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

  1. http://community.linuxmint.com/tutorial/view/1372
  2. 安装IntelliJ Idea 13 Ultimate。
  3. 下载JBOSS并准备一个目录以供使用。
  4. 经过这3天的努力,我设法得到了一个由本教程创建的示例应用程序: http://wiki.jetbrains.net/intellij/Developing_and_running_a_Java_EE_Hello_World_application#The_Hello_World_Java_EE_application
  5. 现在,应用程序编译,我得到index.jsp:http://localhost:8080/webWeb/

    但是,如果我点击它会收到404错误,并提交给http://localhost:8080/webWeb/helloworld

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

    https://www.dropbox.com/sh/9sma5vh7usy2h3p/AADA64KPyLH29iGz8OamWyNna

    谢谢!


    更新: 为方便起见,我的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工作的这种极端困难让我专注于 CODING ,这就是我喜欢像PHP这样的东西的原因......我错了吗?

1 个答案:

答案 0 :(得分:2)

问题是您正在使用与Servlet 2.5 / JSP 2.1一起使用的JBoss 4.2.3(如BalusC在此处所述:Servlet Spec for Jboss 4.2.3)。自Servlet 3.0起,支持使用@WebServlet和注释。因此,您必须直接在web.xml文件中配置您的servlet。

请注意,servet 2.5也不支持EJB注入。