当我使用JBoss 7.1.1时,我可以显示一个类似于这样的JSP页面:
@WebServlet("/path")
public class Controller extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.getServletContext().getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response);
}
}
但是当我使用WildFly 9.0.2做同样的事情时,它不起作用,我有以下错误:
15:55:40,264 DEBUG [org.jboss.resteasy.core.SynchronousDispatcher 60] (default task-2) PathInfo: /WEB-INF/login.jsp
15:55:40,269 WARN [org.jboss.resteasy.core.ExceptionHandler 135] (default task-2) failed to execute: javax.ws.rs.NotFoundException: Could not find resource for full path: http://localhost:8080/myapp-web/WEB-INF/login.jsp
at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:112) [resteasy-jaxrs-3.0.11.Final.jar:]
at org.jboss.resteasy.core.registry.RootNode.match(RootNode.java:43) [resteasy-jaxrs-3.0.11.Final.jar:]
at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48) [resteasy-jaxrs-3.0.11.Final.jar:]
...
我的web.xml文件几乎为空:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
如何使用WildFly 9?
答案 0 :(得分:0)
我找到了解决方案。这是我的错。在下面的类中,注释值为"/"
而不是"/ws"
,例如:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/ws")
public class JaxRsActivator extends Application {
}
答案 1 :(得分:0)
听起来您正在将客户端/用户重定向到登录提示,以获得宁静的服务。我看到这样做的方法是使用web.xml文件中的BASIC身份验证配置。我最近将dukes-forest移植到了wildfly,它使用了这个设置。如果您愿意,欢迎look at it。该服务是payment service,它设置为使用数据库来保存用户。数据库配置位于entities project,客户端位于main dukes-store类的PaymentHandler.java项目中。希望这会有所帮助。