使用最新jfinal-undertow 2.0启动后项目能跑起来,web访问不了

使用最新的jfinal-undertow 2.0 项目能跑起来,但是web端访问不了 而且后台有请求进入 感觉是拦截了,可是浏览器单独访问接口却可以!配置文件也是按照教程来的

16:47:54.859 [XNIO-1 I/O-2] DEBUG io.undertow.request - Matched default handler path /admin/recruit/queryList
16:47:54.866 [XNIO-1 task-2] DEBUG io.undertow.request.security - Attempting to authenticate /admin/recruit/queryList, authentication required: false
16:47:54.867 [XNIO-1 task-2] DEBUG io.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method io.undertow.security.impl.CachedAuthenticatedSessionMechanism@9004a1 for /admin/recruit/queryList
16:47:54.867 [XNIO-1 task-2] DEBUG io.undertow.request.security - Authentication result was ATTEMPTED for /admin/recruit/queryList
16:47:54.875 [XNIO-1 I/O-1] DEBUG io.undertow.request - Matched default handler path /admin/recruit/queryDeartmentName
16:47:54.881 [XNIO-1 task-3] DEBUG io.undertow.request.security - Attempting to authenticate /admin/recruit/queryDeartmentName, authentication required: false
16:47:54.881 [XNIO-1 task-3] DEBUG io.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method io.undertow.security.impl.CachedAuthenticatedSessionMechanism@9004a1 for /admin/recruit/queryDeartmentName
16:47:54.881 [XNIO-1 task-3] DEBUG io.undertow.request.security - Authentication result was ATTEMPTED for /admin/recruit/queryDeartmentName

JFinal-4.8 action report -------- 2020-06-01 16:47:54 --------------------------
Url         : OPTIONS /admin/recruit/queryDeartmentName
Controller  : com.diasit.information.admin.controllers.personnelmanagement.recruit.RecruitController.(RecruitController.java:1)
Method      : queryDeartmentName
Interceptor : com.diasit.base.interceptor.ExceptionInterceptor.(ExceptionInterceptor.java:1)
              com.diasit.information.admin.routers.AdminInterceptor.(AdminInterceptor.java:1)
--------------------------------------------------------------------------------

JFinal-4.8 action report -------- 2020-06-01 16:47:54 --------------------------
Url         : OPTIONS /admin/recruit/queryList
Controller  : com.diasit.information.admin.controllers.personnelmanagement.recruit.RecruitController.(RecruitController.java:1)
Method      : queryList
Interceptor : com.diasit.base.interceptor.ExceptionInterceptor.(ExceptionInterceptor.java:1)
              com.diasit.information.admin.routers.AdminInterceptor.(AdminInterceptor.java:1)
Parameter   : pageNumber=1  pageSize=11  
--------------------------------------------------------------------------------
16:48:55.025 [XNIO-1 I/O-2] DEBUG io.undertow.request - Timing out idle connection from /127.0.0.1:64712
16:48:55.025 [XNIO-1 I/O-1] DEBUG io.undertow.request - Timing out idle connection from /127.0.0.1:64713
#静态资源
undertow.resourcePath = src/main/webapp, classpath:webapp

# 是否开启 ssl
undertow.ssl.enable=false

#热加载
undertow.devMode=true

#端口号
undertow.port=8201


评论区

jiahaokkk

2020-06-01 16:57

配置文件
加0.0.0.0 也没用

JFinal

2020-06-01 17:19

发送 OPTIONS 请求, 而非 GET、POST 是什么玩法?

jiahaokkk

2020-06-01 17:21

也发了get Post 请求 但是请求没发出去 Referrer Policy: no-referrer-when-downgrade

jiahaokkk

2020-06-01 17:21

之前用JFInal.start 是没有问题的=-=

要输就输给追求

2020-06-01 17:53

@JFinal 跨域就是发送OPTIONS。如果是跨域请求,浏览器会先发送一个OPTIONS来验证服务器是否支持跨域,支持跨域才会有后面的真实请求

久伴轻尘

2020-06-02 10:07

@jiahaokkk 这个应该是跨域了,你可以去看看跨域处理,如果用nginx直接用nginx处理跨域就行了

Dirge

2020-06-03 11:27

controller.getResponse().addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS,DELETE,PUT");
controller.getResponse().addHeader("Access-Control-Allow-Headers", "content-type,authorization");
controller.getResponse().addHeader("Access-Control-Allow-Origin", "*");
controller.getResponse().addHeader("Access-Control-Request-Headers", "authorization");
if (!"OPTIONS".equals(inv.getController().getRequest().getMethod())) {

inv.invoke();
} else {
inv.getController().renderNull();
}
拦截 添加这些看看

jiahaokkk

2020-06-05 17:42

@Dirge 感谢 好了 之前一直是往undertowServer.configWeb里面加跨域拦截,采取了您的方法 可以了 谢谢

jiahaokkk

2020-06-05 17:42

@久伴轻尘 是的 是跨域问题

jiahaokkk

2020-06-05 17:43

@要输就输给追求 解决了 感谢朋友的回复 是跨域问题导致的

jiahaokkk

2020-06-05 18:03

@Dirge 现在又出现个奇怪的问题,本地没问题,一模一样的代码部署到服务器,居然还是跨域了 奇了怪

jiahaokkk

2020-06-08 10:58

@Dirge 解决了 在服务器就不需要再配置这个跨域了 因为再配置就会报多次跨域处理,加个环境判断就好了