Servlet无法识别,404资源不可用

时间:2017-12-02 09:24:43

标签: maven servlets intellij-idea

我一直想从我的JSP文件向我配置的servlet发送请求,但是我一直收到错误404 - 请求的资源不可用。 我知道这个问题已被多次询问,但似乎没有一个答案能解决我的问题。 我正在使用IntelliJ ide和tomcat 9以及Java maven项目。

我的名为ControllerServlet config的servlet是:

@WebServlet(name = "ControllerServlet", urlPatterns = {"/category", "/addToCart", "/viewCart","/updateCart", "/checkout", "/purchase"},loadOnStartup = 1)

我的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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>
    </dependency>
  </dependencies>

我的项目树结构是这样的:

pcstore 
    -src
        -main
            -java
                -com
                    -pcStore
                        -controller
                            -ControllerServlet.java

    -web
        -WEB-INF
            -view
                 -category.jsp
            -web.xml
        -index.jsp
    -pom.xml

我几乎尝试了任何东西,但结果却没有骰子。 我的上下文根是/ pcStore,我点击了pcStore / category?{id}这是servlet的一部分,我只想堆积太多无关紧要的代码:

     @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    //checks in which path the request is
    String userPath = request.getServletPath();
    // if category page is requested
    if (userPath.equals("/category")) {

1 个答案:

答案 0 :(得分:0)

检查你的classpath jar和maven之间是否有一些碰撞。 也许你应该尝试复制相同的项目并尝试使用没有Maven的模块源运行样本servlet,反之亦然。