如何使用WildFly显示JSP

时间:2015-12-01 15:06:58

标签: jsp wildfly

当我使用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?

2 个答案:

答案 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项目中。希望这会有所帮助。