当前位置: 首页 > news >正文

专业的模板建站企业怎么做网站8uftp

专业的模板建站企业,怎么做网站8uftp,ppt模板下载平台,php网站怎么做302Tomcat转SpringBoot、tomcat升级到springboot、springmvc改造springboot 起因#xff1a;我接手tomcat-springmvc-hibernate项目#xff0c;使用tomcat时问题不大。自从信创开始#xff0c;部分市场使用国产中间件#xff0c;例如第一次听说的宝兰德、东方通#xff0c;还…Tomcat转SpringBoot、tomcat升级到springboot、springmvc改造springboot 起因我接手tomcat-springmvc-hibernate项目使用tomcat时问题不大。自从信创开始部分市场使用国产中间件例如第一次听说的宝兰德、东方通还有一些市场使用weblogic、WebSphere特别是商用中间件难以满足本地运行并编写部署文档只能靠市场自行摸搜适配。 那咋办我直接把tomcat应用直接改造成springboot应用不就完事了省去了中间件、中间商赚差价、虽然springboot底层用tomcat运行web但没有了宝兰德、东方通的适配报错。 原项目tomcat warspring5springmvchibernatemysql 改造后springbootspringbootwebhibernatemysql 添加依赖 第一步是添加springboot依赖 !-- 打包类型为jar -- packagingjar/packaging propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncoding!-- spring的版本应该与springboot内的spring版本一致 --spring.version5.3.30/spring.versionspringboot.version2.7.18/springboot.versionhibernate.version5.6.15.Final/hibernate.version /propertiesdependencies!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot/artifactIdversion${springboot.version}/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion${springboot.version}/version/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-freemarker --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-freemarker/artifactIdversion${springboot.version}/version/dependency// 项目其他依赖 /dependenciesplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${springboot.version}/versionconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludesmainClassapp.MyApplication/mainClass/configuration /plugin原来是spring5.3.x对应springboot2.7.x 转化web.xml 1、编写一个MyApplication SpringBootApplication(exclude {RedisAutoConfiguration.class, SpringDataWebAutoConfiguration.class},scanBasePackages {app, cn.com.xxxxx} ) ImportResource({classpath:spring.xml, classpath:spring-ds.xml, classpath:spring-validator.xml}) Slf4j public class MyApplication {public static void main(String[] args) {ConfigurableApplicationContext context SpringApplication.run(MyApplication.class, args);String port context.getEnvironment().getProperty(server.port);if (portnull)port8080;log.info(web: {}, http://localhost: port);} }特别注意使用 ImportResource 导入原有的xml配置还有包扫描路径 scanBasePackagesMyApplication 所放的位置有讲究通常放到包的根目录下 2、创建一个 src/main/resources/application.properties spring.main.allow-bean-definition-overridingtrue spring.main.allow-circular-referencestrue spring.jpa.open-in-viewfalse server.servlet.context-path/app允许bean循序、bean重写、web访问上下文路径 3、将web.xml中的 filter/Listener转化为bean //使用RegistrationBean方式注入ListenerBeanpublic ServletListenerRegistrationBean servletListenerRegistrationBean() {AppSessionListener myListener new AppSessionListener();//创建原生的Listener对象return new ServletListenerRegistrationBean(myListener);}//使用RegistrationBean方式注入ListenerBeanpublic ServletListenerRegistrationBean servletListenerRegistrationBean2() {AppServletContextListener myListener new AppServletContextListener();//创建原生的Listener对象return new ServletListenerRegistrationBean(myListener);}其他的就不多赘述 静态文件转发 tomcat应用的静态文件通常放在app/WebContent下 例如app/WebContent/js/app.js我们需要将它挂载到静态路径下 /*** author lingkang* created by 2023/12/8*/ Slf4j Configuration public class StaticSourceConfig implements WebMvcConfigurer {/*** 部署本地资源到url** param registry*/Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {File file new File(System.getProperty(user.dir) File.separator WebContent);String path file.getAbsolutePath();if (!path.endsWith(/))pathpathFile.separator;log.info(静态文件映射路径{}, path);registry.addResourceHandler(/**).addResourceLocations(file: path);} }打包 基于上面的基本告一段落了在没有移动前端资源的情况同时我们的老项目有那么多xml配置不可能将它打包到jar里否则不符合修改迁移。这时候就要用到maven-assembly-plugin插件了pom.xml配置如下 plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.5.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encodingcompilerArgsarg-parameters/argarg-extdirs/argarg${project.basedir}/WebContent/WEB-INF/lib/arg/compilerArgs/configuration /plugin plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion3.6.0/versionconfigurationappendAssemblyIdfalse/appendAssemblyIddescriptorRefsdescriptorRefjar-with-dependencies/descriptorRef/descriptorRefsarchive!-- 此处要改成自己的程序入口即 main 函数类 --manifestmainClassapp.MyApplication/mainClass/manifest/archivedescriptors!--assembly配置文件路径注意需要在项目中新建文件package.xml--descriptor${project.basedir}/src/main/resources/package/package.xml/descriptor/descriptors/configurationexecutionsexecutionidmake-assembly/idphasepackage/phasegoalsgoalsingle/goal/goals/execution/executions /pluginsrc/main/resources/package/package.xml配置如下 ?xml version1.0 encodingUTF-8? assembly xmlnshttp://maven.apache.org/ASSEMBLY/2.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd!--assembly 打包配置更多配置可参考官方文档http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html--idrelease/id!--设置打包格式可同时设置多种格式常用格式有dir、zip、tar、tar.gzdir 格式便于在本地测试打包结果zip 格式便于 windows 系统下解压运行tar、tar.gz 格式便于 linux 系统下解压运行--formatsformatdir/format!--formatzip/format--!-- formattar.gz/format --/formats!-- 打 zip 设置为 true 时会在 zip 包中生成一个根目录打 dir 时设置为 false 少层目录 --!--includeBaseDirectorytrue/includeBaseDirectory--fileSets!-- src/main/resources 全部 copy 到 config 目录下 --fileSetdirectory${basedir}/src/main/resources/directoryoutputDirectoryconfig/outputDirectoryincludes!--包含那些依赖--/includes/fileSet!-- 项目根下面的脚本文件 copy 到根目录下 --fileSetdirectory${basedir}/src/main/resources/package/directoryoutputDirectory/outputDirectory!-- 脚本文件在 linux 下的权限设为 755无需 chmod 可直接运行 --fileMode755/fileModelineEndingunix/lineEndingincludesinclude*.sh/include/includes/fileSetfileSetdirectory${basedir}/WebContent/WEB-INF/lib/directoryoutputDirectorylib/outputDirectoryincludes!--包含那些依赖--include*.jar/include/includes/fileSet!-- 静态资源 awb.operations.config.StaticSourceConfig --fileSetdirectory${basedir}/WebContent/directoryoutputDirectoryWebContent/outputDirectoryincludes!--包含那些依赖--includecompressor/**/includeincludeconf/**/includeincludedependence/**/includeincludeelementui/**/includeincludefonts/**/includeincludeicons/**/includeincludeimage/**/includeincludeimg/**/includeincludemodule/**/includeincludenodejs/**/includeincludescript/**/includeinclude*.js/includeinclude*.html/includeinclude*.css/includeinclude*.json/include/includes/fileSet/fileSets!-- 依赖的 jar 包 copy 到 lib 目录下 --dependencySetsdependencySetoutputDirectorylib/outputDirectory/dependencySet/dependencySets/assembly/src/main/resources/package/start.sh运行内容如下 #!/bin/bash # ---------------------------------------------------------------------- # # 使用说明 # 1: 该脚本使用前需要首先修改 MAIN_CLASS 值使其指向实际的启动类 # # 2使用命令行 ./start.sh start | stop | restart 可启动/关闭/重启项目 # # # 3: JAVA_OPTS 可传入标准的 java 命令行参数例如 -Xms256m -Xmx1024m 这类常用参数 # # 4: 函数 start() 给出了 4 种启动项目的命令行根据注释中的提示自行选择合适的方式 # # ----------------------------------------------------------------------# 启动入口类该脚本文件用于别的项目时要改这里 MAIN_CLASSapp.MyApplicationif [[ $MAIN_CLASS app.MyApplication ]]; thenecho 请先修改 MAIN_CLASS 的值为你自己项目启动Class然后再执行此脚本。exit 0 fiCOMMAND$1if [[ $COMMAND ! start ]] [[ $COMMAND ! stop ]] [[ $COMMAND ! restart ]]; then # echo Usage: $0 start | stop | restart , 例如 sh start.sh start / sh start.sh stop # exit 0 COMMANDstart fi# Java 命令行参数根据需要开启下面的配置改成自己需要的注意等号前后不能有空格 JAVA_OPTS-Xms512m -Xmx2048m # JAVA_OPTS-Dserver.port80 # 生成 class path 值 APP_BASE_PATH$(cd dirname $0; pwd) CP${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*function start() {# 运行为后台进程并在控制台输出信息#java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} # 运行为后台进程并且不在控制台输出信息# nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} /dev/null 21 # 运行为后台进程并且将信息输出到 output.out 文件nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} nohup.out # 运行为非后台进程多用于开发阶段快捷键 ctrl c 可停止服务# java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} }function stop() {# 支持集群部署kill pgrep -f ${APP_BASE_PATH} 2/dev/null# kill 命令不使用 -9 参数时会回调 onStop() 方法确定不需要此回调建议使用 -9 参数# kill pgrep -f ${MAIN_CLASS} 2/dev/null# 以下代码与上述代码等价# kill $(pgrep -f ${MAIN_CLASS}) 2/dev/null }if [[ $COMMAND start ]]; thenstart elif [[ $COMMAND stop ]]; thenstop elsestopstart fi这时候就能执行打包了 或者 mvn package效果如下 然后将整个路面打包成zip传到服务器运行即可
http://www.hkea.cn/news/14339918/

相关文章:

  • 桐柏网站建设社交网站设计
  • 域名对网站建设有什么影响吗做免费漫画网站有风险吗
  • 如何创建游戏网站快速将网站seo
  • 成都上市的网站建设公司开网站做代发
  • 删除wordpress缓存文件深圳网站营销seo费用
  • 服务周到的上海网站建设公司南京做网站南京乐识赞
  • sns社交网站开发wordpress上传视频媒体库没显示
  • 全屏响应式网站网站制作论文优帮云
  • 网站域名跳转代码html手赚网站哪里可以做
  • 百度收录提交申请网站ie常用网站设置
  • 潍坊网站建设中公harmonyos开发语言
  • 单页销售网站源码上海市建设工程检测行业协会网站
  • 灵川网站制作网站做下载wordpress
  • 申请免费网站哪个好跟网站做流量
  • 深圳龙华 网站建设百度网盘app下载安装 官方下载
  • 个人单页网站本科专业建设规划
  • 制作网站的公司叫什么阿里巴巴司法拍卖网官网
  • 不用代码可以做网站设计吗wordpress 下载工具
  • 只做自己网站建设银行成都开发中心网站
  • 网站建设需求调研问卷泰安百度推广电话
  • 婚恋网站模板wordpress用户名忘记密码
  • 一般网站建设企业到哪里建网站
  • 厦门建设局官方网站西安那里做网站
  • 工业设计网站官网泰兴网站制作
  • 公司付网站会员费科目怎么做哈尔滨招聘网最新招聘信息网
  • 电脑网站制作网站平台
  • 站长之家 wordpress 流量统计网站建设优化推广哈尔滨
  • 建站小软件建立一个网站英语
  • 电子商务网站的重要性免费友情链接网
  • 单位网站建设管理情况佛山营销型网站