springmvc +dubbo项目切换成spring boot启动
来源:互联网 发布:js伪类选择器 编辑:程序博客网 时间:2024/05/22 09:27
springmvc +dubbo项目切换成spring boot启动
最近对老项目架构上进行一次改动,将原来springmvc + dubbo 切换成spring boot jar启动方式
**1.在pom.xml添加springboot依赖 并删除之前spring所有依赖
这里使用的版本是1.5.2.RELEASE 对应spring版本4.3.7**
<modelVersion>4.0.0</modelVersion> <groupId>com.hd.web</groupId> <artifactId>hd_web</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>hd_web</name><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version></parent><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency><plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.4.2.RELEASE</version> <dependencies> <!-- spring热部署 --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.6.RELEASE</version> </dependency> </dependencies></plugin>
如果有redis依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1.4.7.RELEASE</version> </dependency>
如果有jpa依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>${spring.boot.version}</version></dependency>
2.将web.xml 里的servlet filter进行改造
listener 改造前
<listener> <listenerclass>com.hdb.modules.hdbOnline.servlet.LoginSessionListener</listener-class></listener>
改造后
找到该类添加@WebListener 注解即可
filter 改造前
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
改造后
@Beanpublic FilterRegistrationBean registrationFilterBean() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(characterEncodingFilter()); registration.addUrlPatterns("/*"); return registration; }@Beanpublic CharacterEncodingFilter characterEncodingFilter() { CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); characterEncodingFilter.setEncoding("UTF-8"); characterEncodingFilter.setForceEncoding(true); return characterEncodingFilter;}
servlet 改造前
<servlet> <servlet-name>ValidateCodeServlet</servlet-name> <servlet-class>com.hdb.common.servlet.ValidateCodeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ValidateCodeServlet</servlet-name> <url-pattern>/servlet/validateCodeServlet</url-pattern> </servlet-mapping>
改造后 找到该类
@WebServlet(name="ValidateCodeServlet",urlPatterns="/servlet/validateCodeServlet")
错误 页面配置 改造前
<error-page> <exception-type>java.lang.Throwable</exception-type> <location>/WEB-INF/views/error/500.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/views/error/500.jsp</location> </error-page>
改造后
/** * 错误 页面配置 * @return */ @Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage errorPage = new ErrorPage(Throwable.class, "/WEB-INF/views/error/500.jsp"); ErrorPage error400Page = new ErrorPage(HttpStatus.BAD_REQUEST, "/WEB-INF/views/error/404.jsp"); ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/WEB-INF/views/error/404.jsp"); ErrorPage error405Page = new ErrorPage(HttpStatus.METHOD_NOT_ALLOWED, "/WEB-INF/views/error/404.jsp"); ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/WEB-INF/views/error/500.jsp"); container.addErrorPages(errorPage, error400Page, error404Page, error405Page, error500Page); } }; }
3.spring-mvc.xml 文件中的拦截器 视图解析器的改造
添加一个Configuration类 扩展WebMvcConfigurerAdapter类,然后重写addInterceptors方法添加拦截器
重写addResourceHandlers 方法添加对于静态资源的处理
重写configureViewResolvers方法添加视图解析器
4.jar包启动是不支持jsp的,因此,加入几项支持
spring-boot-maven-plugin 版本1.4.2.RELEASE 高版本好像不太支持
将webapp的文件打包后放到META-INF下,否则访问不到
<resource> <directory>src/main/webapp</directory> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes></resource>
添加两个依赖,但是scope 去掉
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
目前只是改了启动方式,其中包括对于mq、hibernate lucene、dubbo都是通过引入xml实例化的,后期慢慢研究如何进行整合。
阅读全文
0 0
- springmvc +dubbo项目切换成spring boot启动
- Spring boot项目Tomcat启动与切换
- spring-boot项目启动
- spring-boot项目启动失败的一种解决办法:自带的tomcat容器切换成jetty容器
- spring boot项目如何启动
- spring-boot项目启动方式
- Web项目切换为Spring-boot部署
- dubbo + spring boot
- spring boot集成dubbo
- spring boot+dubbo
- Spring boot 整合Dubbo
- Spring Boot配置Dubbo
- spring-boot-starter-dubbo
- Spring Boot整合Dubbo
- spring boot dubbo 配置
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目
- 使用spring boot搭建与dubbo整合项目
- jvm 参数设置
- 基于Socket.IO实现Android聊天功能
- CAD文件(dwg)的加载-ArcEngine
- 在ubuntu16.04_X86-64环境下快速搭建GPU版本的tensorflow
- 上帝与集合的正确用法 HYSBZ
- springmvc +dubbo项目切换成spring boot启动
- 您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。
- redis命令
- (续篇).net分页控件webdiyer:aspnetpager与gridview联用
- socket的5个异常
- zookeeper 5: Leader和Follower交互过程
- Linux安装jdk1.8以及出现的问题
- Comparator简单排序例子
- org.apache.spark