首页 > (BAE)jetty8+struts2导致 welcome-file-list 失效

(BAE)jetty8+struts2导致 welcome-file-list 失效

为什么80%的码农都做不了架构师?>>>   hot3.png

最近在使用BAE的过程中,有个问题始终解决不了,在配置struts2框架环境的时候,

如果拦截配置的是/*

那这时候打开首页会报 504 错误,访问不了我们在web.xml中配置的welcome-file-list页面,但是其他的struts配置可以访问,例如:index.do,index.action 都可以访问成功。

后来我查看BAE的帮助文档,发现他JAVA的环境使用的是jetty 服务器,而不是我们平常的 tomcat。

于是我下载了jetty并且和BAE一样的版本在本地部署调试,发现也是会出同样的问题,当我们访问项目首页时,会报出“Could not find action or result” 的错误信息

[2013-09-13 03:40:53,968] Artifact test3:war exploded: Artifact is deployed successfully
2013-9-13 15:40:54 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
警告: Could not find action or result
There is no Action mapped for namespace [/] and action name [] associated with context path [/test3_war_exploded]. - [unknown location]at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:553)at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)at org.eclipse.jetty.server.Server.handle(Server.java:370)at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)at java.lang.Thread.run(Thread.java:662)
这在我们使用tomcat的时候从没有出现过,我查了一下以后发现这个 错误是 由于 我没有在struts 中配置  default-action-ref 导致的。。。。。

然后我在struts配置中加入了

/index.jsp
结果? 成功了有木有!!!上传到BAE也成功了有木有!!!困扰了我一个星期的问题解决了有木有。。。。。



为什么jetty+struts2会导致出现配置的welcome-file-list失效这种事情呢?难道如查到的那样是jetty的问题?

PS:解决方案

在struts2的配置中加入以下配置

/index.jsp
然后重启服务即可解决



转载于:https://my.oschina.net/fdblog/blog/161306

更多相关:

  • 该楼层疑似违规已被系统折叠 隐藏此楼查看此楼使用的是MySQL8+,nacos是1.2.1的,在网上翻了很多资料,查了很多博客,也尝试了很多,在nacos文件夹下创建plugins/mysql文件夹并放入MySQL的jar包、在nacos的application.properties的文件中添加MySQL高版本的驱动配置等等等等,但是...

  • SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitte...

  • 首先我们使用新的API方法连接mysql加载数据 创建DF import org.apache.spark.sql.DataFrame import org.apache.spark.{SparkContext, SparkConf} import org.apache.spark.sql.{SaveMode, DataFrame...

  • 本文目的是测试将shark和hadoop2进行整合。 本来打算使用Shark 最新版0.9.0 ,但是官方好像还没有针对与Hadoop2的正式下载地址。(这个要说明一下,官方只提供了源码,并没有找到编译好的0.9.0 for hadoop2 ,也许需要自己编译一个,没有证实) shark0.9.0 的需要: Scala 2.10.3S...

  •   今天刚学习mybatis,遇到了一个错误,纠结了半天的时间,所以将发现的问题和解决得方法写一下。   错误信息如下: java.lang.ExceptionInInitializerErrorat com.ibatis.po.TestSysArea.testInsert(TestSysArea.java:31)at sun.r...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 这是第三部分,完成效果如下 图1 建图和导航 三、使用RTAB-Map进行建图和导航 1. rtab...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 由于之前的虚拟机性能限制,我在这个项目中使用了新的ubantu 16.04环境,虚拟机配置 内存 8GCPU...

  • [{name:1},{name:2}].forEach((v,i,ar) => {console.log(v,i,ar)});//基础遍历[{name:1},{name:2}].map((v) => v.name);//[1,2]返回对象数组中指定字段值的一位数组(不改变原始数组)[{name:1},{name:2},{name:3}...

  • 体验内容 使用gmapping方法利用turtlebot底盘移动信息和激光雷达数据进行建图。 1. 安装一些依赖包 sudo apt-get install ros-melodic-move-base* sudo apt-get install ros-melodic-map-server* sudo apt-get insta...

  • 前言 我们知道Java/Python这种语言能够很好得 支持反射。反射机制 就是一种用户输入的字符串到对应实现方法的映射,比如http接口中 用户传入了url,我们需要调用该url对应的方法/函数对象 从而做出对应的操作。 而C++ 并没有友好得支持这样的操作,而最近工作中需要通过C++实现http接口,这个过程想要代码实现得优雅...

  • 设置路由的default的Controller和Action可以达到我们预期的效果,代码如下所示: public class RouteConfig {public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.ax...