为啥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

wildfly 10 为啥部署不了cxf应用

为啥 WildFly 控制台日志会劫持我的 WAR 的 log4j 日志?

Jboss Wildfly resteasy 升级