您的位置:首页 > 财经 > 产业 > 凤凰网站ui专业设计_长沙人才网最新招聘信息_最新热搜新闻_易推客app拉新平台

凤凰网站ui专业设计_长沙人才网最新招聘信息_最新热搜新闻_易推客app拉新平台

2025/3/28 15:02:47 来源:https://blog.csdn.net/zhtw512/article/details/146427497  浏览:    关键词:凤凰网站ui专业设计_长沙人才网最新招聘信息_最新热搜新闻_易推客app拉新平台
凤凰网站ui专业设计_长沙人才网最新招聘信息_最新热搜新闻_易推客app拉新平台

原项目比较复杂,集成了各种框架(struts1 struts2 spring3等),趁工作之余练练手,学习一下springboot。大概花了一周时间才调通。

一、调整jar版本,寻找合适的版本。

第一步、首先原项目JDK6,要用springboot JDK肯定要升级了。原来的struts2也有漏洞了,也要升级。

在不升级其他框架的情况下。jdk21 17都可以运行,索性选择jdk21,反正是练手。

第二步、struts2 已经停止更新,就选最新版本了,目标是先按原来的框架跑起来,逐步把struts2废弃掉。升级后界面标签属性有点变化,批量替换。

s:iterator的 id 改成var 

s:property escape属性没了。

过滤器路径也改了:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

第三步、一切正常之后,可以说装载springboot 。3.0之后javaee9,最重要的是javax 变jakata了,变化太大,如果选3.0之前的程序肯定跑不起来。在这里折腾了好几天,调整版本兼容性。最终选择boot2.7.18  2.7的最高版本了。对应spring5.3

第四步、先把springboot空的应用正常启动,配置好能够对空的jsp访问,这里出现过不渲染JSp的问题,不知道怎么消失了。

第五步、把WEB.xml 里的配置 全部放到配置类中。把过滤器、监听器、servlet等注册到spring配置类中。 这里会出现版本兼容的问题,如果springboot选择3.0 就要求过滤器要继承jakata路径。

这里会把struts1和struts2在web.xml的配置全部注册完毕。

第六步、修改JSP ,主要是标签错误。

每一步都有不少问题,基本上不停的问百度、豆包、元宝

spring 配置如下

  <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.18</version><relativePath/> <!-- lookup parent from repository --></parent>
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

struts2配置如下

    <dependency><groupId>org.apache.struts</groupId><artifactId>struts2-json-plugin</artifactId><version>2.5.30</version></dependency><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.5.30</version></dependency>

struts1配置如下:

    <dependency><groupId>struts</groupId><artifactId>struts</artifactId><version>1.1</version><exclusions><exclusion><groupId>javax.sql</groupId><artifactId>jdbc-stdext</artifactId></exclusion></exclusions></dependency>

JSP支持配置如下:

   <dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>compile</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency>

与struts1相关启动报错问题,但不影响使用,解决版本,在main类中增加方法:

    @Beanpublic TomcatServletWebServerFactory tomcatFactory() {return new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {((StandardJarScanner) context.getJarScanner()).setScanManifest(false);}};}

另外理论上web.xml可以删除了。但是struts1还会读取web文件,如果文件不存在会抛异常,web.xml暂时保留着。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com