为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Spring 3.x 迁移到 5.x?

如何从 Spring 3.x 迁移到 5.x?

幕布斯6054654 2024-01-05 09:56:54
我有一个 Spring 3 项目,我希望将其迁移到 Spring 5。现在,我在下面给出的项目中有 web.xml :<servlet-mapping>                    <servlet-name>mvc-dispatcher</servlet-name>                    <url-pattern>/registrationapplication/*</url-pattern>                </servlet-mapping>                <servlet-mapping>                    <servlet-name>mvc-dispatcher</servlet-name>                    <url-pattern>/maintenance/lienholder/*</url-pattern>                </servlet-mapping>                <servlet-mapping>                    <servlet-name>mvc-dispatcher</servlet-name>                    <url-pattern>/login/*</url-pattern>                </servlet-mapping>                <servlet-mapping>                    <servlet-name>mvc-dispatcher</servlet-name>                    <url-pattern>/messagemap/*</url-pattern>                </servlet-mapping>            <servlet>                    <servlet-name>mvc-dispatcher</servlet-name>                    <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class>                    <load-on-startup>1</load-on-startup>                </servlet>            <context-param>                    <param-name>contextConfigLocation</param-name>                    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>                </context-param>在迁移之前,我有一些疑问。具体如下:从 Spring 3.0 迁移到 Spring 5 时,如何将 web.xml 中的以下行转换为基于 Java 的配置我是否需要读取 mvc-dispatcher-servlet.xml 或者是否需要迁移基于 java 的配置以在 spring 5 中转换 mvc-dispatcher-servlet.xml ?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

1.Spring 5不需要更改。web.xml您可以更改servlet版本(如果需要)。


它保持原样:


Spring 的典型 web.xml:


 <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

      <display-name>example</display-name>

      <servlet>

        <servlet-name>mvc-dispatcher</servlet-name>

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>

          <param-name>contextConfigLocation</param-name>

          <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

      </servlet>

      <servlet-mapping>

        <servlet-name>mvc-dispatcher</servlet-name>

        <url-pattern>/</url-pattern>

      </servlet-mapping>

      <!-- Custom Servlet Mapping-->

      <servlet-mapping>

        <servlet-name>mvc-dispatcher</servlet-name>

        <url-pattern>/registrationapplication/*</url-pattern>

      </servlet-mapping>

      <servlet-mapping>

        <servlet-name>mvc-dispatcher</servlet-name>

        <url-pattern>/maintenance/lienholder/*</url-pattern>

      </servlet-mapping>

      <servlet-mapping>

        <servlet-name>mvc-dispatcher</servlet-name>

        <url-pattern>/login/*</url-pattern>

      </servlet-mapping>

      <servlet-mapping>

        <servlet-name>mvc-dispatcher</servlet-name>

        <url-pattern>/messagemap/*</url-pattern>

      </servlet-mapping>

    </web-app>

您可以使用基于 Java 的配置或基于 xml 的配置。两者均受支持。您仍然可以使用旧配置。

基于Java的配置将是这样的:


public class DispatcherServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer {


    @Override

    protected Class<?>[] getRootConfigClasses() {

        return new Class[] { Configure.class };

    }


    @Override

    protected Class<?>[] getServletConfigClasses() {

        return null;

    }


    @Override

    protected String[] getServletMappings() {

        return new String[] { "/", "/registrationapplication", "/login", "/messagemap", "/maintenance/lienholder"};

    }


}


@Configuration

@EnableWebMvc 

@ComponentScan(value = {"com.example"})

public class Configure {


    @Bean

    public InternalResourceViewResolver getInternalResourceViewResolver() {

        InternalResourceViewResolver resolver = new InternalResourceViewResolver();

        resolver.setPrefix("/WEB-INF/views/");

        resolver.setSuffix(".jsp");

        return resolver;

    }

}


查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信