为啥wildfly17服务器显示403 jboss 6.X在我的系统中完美运行?
Posted
技术标签:
【中文标题】为啥wildfly17服务器显示403 jboss 6.X在我的系统中完美运行?【英文标题】:Why wildfly17 server show 403 where jboss 6.X work perfectly in my System?为什么wildfly17服务器显示403 jboss 6.X在我的系统中完美运行? 【发布时间】:2020-09-19 08:23:05 【问题描述】:我使用 jboss 6.x 部署 war 文件 (EMC.war),jboss 服务器在 eclipse 中与 JRE1.8.0_241 完美配合。
将服务器从 jboss 6.X 更改为 wildfly 17 后,使用简单示例时消息总是显示 403 禁止。
我将wildfly版本从8改为18,但http消息仍然显示4.3禁止
这是我的代码。
我的网址是http://localhost:8080/EMC/
环境: 蚀 JRE 1.8.0_241 野蝇 17
谢谢!
【问题讨论】:
请不要将代码发布为图片。发布代码本身。 【参考方案1】:我仍然收到错误 403。
这是项目结构。
在 RestEasyServices 类中
package com.demo.tutorials;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/rest")
public class RestEasyServices extends Application
在 EMCRESTService 类中
package com.demo.tutorials;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("/abc")
public class EMCRESTService extends Application
@GET
@Path("/simple")
public String getHelloWorldJSON()
return "\"result\":\"" + "\"";
在 web.xml 中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>EMC</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
server.log 显示消息正在执行http://localhost:8080/EMC/
2020-06-02 10:08:26,761 TRACE [org.jboss.security] (default task-1) PBOX00354: Setting security roles ThreadLocal: null
http://localhost:8080/EMC/ 获取 403
我应该怎么做才能解决这个错误?
谢谢!
【讨论】:
【参考方案2】:我很惊讶您显示的代码完全有效。
您的应用程序应该在它自己的类中。比如:
@ApplicationPath("/rest")
public class BaseApplication extends Application
// intentionally empty
就足够了。请注意,在此示例中,我设置了 JAX-RS URL 路径的基础。每个 URL 都将包含我的网络应用名称和此路径。如果您愿意,此路径可以是“/”。然后,像您一样将您的服务代码放在它自己的类中。不要为每个服务扩展Application
。
【讨论】:
以上是关于为啥wildfly17服务器显示403 jboss 6.X在我的系统中完美运行?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列
如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器
WildFly 12:错误 jboss.remoting.management.channel.registry