【问题标题】:java servlet not found error 404 in eclipse [duplicate]java servlet在eclipse中找不到错误404 [重复]
【发布时间】:2014-08-21 19:50:38
【问题描述】:

我在 Ubuntu 14.04 上使用 Eclipse 4.3 kepler 并使用 Apache tomcat 7,我已经在我的项目中成功创建了 .jsp 和 .html 文件,但我无法运行 servlet,我已将所有 jar 文件添加到 library 中。我已经阅读了关于这个错误 404 的每篇文章,当我启动以下 servlet 时我得到了这个错误

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;




@WebServlet("/taxProcessor")
public class taxProcessor extends HttpServlet {
private static final long serialVersionUID = 1L;


/**
 * @see HttpServlet#HttpServlet()
 */
public taxProcessor() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String s=request.getParameter("t1");
    int i=Integer.parseInt(s);
    String s1=request.getParameter("t2");
    int a=Integer.parseInt(s1);
    int t=0;
    if(i>=500000)
    {
        t=i*(30/100);
    }else if(i>=300000)
    {
        t=i*(20/100);
    }else if(i>=200000)
    {
        t=i*(10/100);
    }
    if(a>=60)
    {
        t=t-(i*(10/100));
    }
PrintWriter out=response.getWriter();
out.println("Thank you for Visiting");
out.println("Your Tax Laibality is"+t+"\n");
out.close();
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
}

}

我的 web.xml 文件是

我得到的就是这个

【问题讨论】:

    标签: java eclipse servlets


    【解决方案1】:

    在 web.xml 中使用 web.servlets.newtax.taxProcessor 代替 web.servlets.newtax.taxProcessor.java

    顺便说一句,你的包名是servlet,那么你怎么在servlet-class标签中给出web.servlets.newtax

    例如,如果在您的 Eclipse 中您的 servlet 类位于 src/somePackageName/ServletClassName 中,那么您的 web.xml 必须包含这样的条目

        <servlet>
            <servlet-name>anyName</servlet-name>
            <servlet-class>somePackageName.ServletClassName</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>anyName</servlet-name>
            <url-pattern>/taxProcessor</url-pattern>
        </servlet-mapping>
    

    另外一件事,当您在 web.xml 中指定条目时,您可以删除注释@WebServlet("/taxProcessor")

    最后以http://localhost:8080/YourProjectName/taxProcessor运行servlet

    【讨论】:

    • 没有帮助我在 web.xml 中进行了编辑,但同样的事情正在重复
    • 你的servlet驻留在哪里告诉路径?
    • 这是我的 servlet 的全名 /newtax/src/servlet/taxProcessor.java
    • 老板你的商业代码应该驻留在 src 文件夹而不是 servlet/newtax 中。项目名称是什么?
    • newtax 是我的项目名称
    【解决方案2】:

    在 web.xml 中提供 /newtax/..../taxProcessor 。不要提供 /newtax/..../taxProcessor.java 并通过提供 url http://localhost:&lt;port-number&gt;/newtax.taxProcessor 从浏览器中检查。此处为您的 tomcat 服务器端口提供端口号。默认为 8080

    【讨论】:

      猜你喜欢
      • 2018-06-06
      • 2012-07-06
      • 2014-04-03
      • 2010-09-09
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      相关资源
      最近更新 更多