Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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 Can';当使用@Webservlet注释时,不要启动tomcat服务器_Java_Jsp_Servlets - Fatal编程技术网

Java Can';当使用@Webservlet注释时,不要启动tomcat服务器

Java Can';当使用@Webservlet注释时,不要启动tomcat服务器,java,jsp,servlets,Java,Jsp,Servlets,我目前正在为学校制作一个项目,其中我必须制作一个基本的登录系统,问题是当我使用@Webservlet注释时,我的tomcat服务器无法启动,这是我的servlet代码: `package controller; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.Se

我目前正在为学校制作一个项目,其中我必须制作一个基本的登录系统,问题是当我使用@Webservlet注释时,我的tomcat服务器无法启动,这是我的servlet代码:

`package controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.NotAuthorizedException;

 import handlers.RequestHandler;
import service.Service;


 @WebServlet("/Controller")
 public class Controller extends HttpServlet {
 private static final long serialVersionUID = 1L;
 private Service service =  new Service();
 private ControllerFactory controllerFactory = new ControllerFactory();



public Controller() {
    super();

}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    processRequest(request, response);




}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    processRequest(request, response);
}

protected void processRequest(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    String action = request.getParameter("action");
    String destination = "index.jsp";
    if (action != null) {
        RequestHandler handler;
        try {
            handler = controllerFactory.getController(action, service);
            destination = handler.handleRequest(request, response);
        } 
        catch (NotAuthorizedException exc) {
            List<String> errors = new ArrayList<String>();
            errors.add(exc.getMessage());
            request.setAttribute("errors", errors);
            destination="index.jsp";
        }
    }
    RequestDispatcher view = request.getRequestDispatcher(destination);
    view.forward(request, response);



}

}
当我注释掉@Webservlet注释时,服务器会毫无问题地启动

编辑

这是我的web.xml:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

</web-app>

index.jsp
这些是我的maven依赖项:

<dependencies>
    <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency> 
    <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
    </dependency>



</dependencies>

javax.servlet
jstl
1.2
爪哇
javaeewebapi
7
从堆栈跟踪

java.lang.NoClassDefFoundError: javax/ws/rs/NotAuthorizedException
我将首先解决NoClassDefFoundError的问题

似乎类路径中缺少了库JAX-RS。通过Maven将其添加为依赖项


之后,您可以转到下一期,如果有的话。

您的web.xml是什么样子的?谢谢您的帮助,现在问题已经解决了!Upvote&接受答案是stack overflow表示感谢的方式:-)
java.lang.NoClassDefFoundError: javax/ws/rs/NotAuthorizedException