程序员社区

SpringMVC配置式开发

一.开发步骤

1.导入jar包
spring-webmvc、spring-context-support、spring-web
2.配置web.xml文件

 <display-name>springmvc-01-primary</display-name>
  <welcome-file-list>
    <!-- 设置首页 -->
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- 注册前端控制器(中央调度器)是springmvc程序的入口 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置spring文件的路径和文件名(如果不配置默认为    WEB-INF/前端控制器名-servlet.xml) -->
    <init-param>
        <!-- contextConfigLocation -->
        <param-name>contextConfigLocation</param-name>
        <!-- classpath:项目根路径 -->
        <param-value>classpath:springmvc-servlet.xml</param-value>
    </init-param>
    <!-- load-on-startup 标记容器是否应该在web应用程序启动的时候就加载这个servlet,(实例化并调用其init()方法)。-->
    <!-- 该值越小优先级越高,最小为0 -->
    <load-on-startup>1</load-on-startup>
  </servlet>

3.编写SpringMVC后端控制器

//在controller写实现类实现Controller接口(作用和以前的servlet的作用一样)
public class DemoController implements Controller{
    //作用:
     //1.得到请求数据
     //2.调用service层实例对象处理请求
     //3.完成资源跳转
    @Override
    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        ModelAndView mv = new ModelAndView();
                //ModelAndView的作用:
                //1.存储数据    
        mv.addObject("name","lisi");
               //2.资源跳转(展示数据)
        mv.setViewName("/welcome.jsp");
        return mv;
    }
    
}

4.编写springmvc配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!-- 配置后端控制器 -->
    <bean id="/register.do" class="com.bjsxt.controller.DemoController"></bean>
    
    <!-- handlerMapping:用于handlers映射请求和一系列的对于拦截器的前处理和后处理 -->
    <!-- 可以不书写HandlerMapping -->
    <!-- 不书写的话,上面的id就是资源请求路径 -->
    <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="urlMap">
            <map>
                <entry key="/register.do" value-ref="/register.do"></entry>
            </map>
        </property>
    </bean>
    
    <!-- HandlerAdapter:-按照特定规则(HandlerAdapter要求的规则)去执行Handler 
        通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。 -->
    <!-- HandlerAdapter -->
    <bean id="HandlerAdapter" class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
    
    <!-- ViewResolver 会根据逻辑 View 获得对应的物理 View。 -->
    <!-- 注意如果在逻辑视图中加了forward: 或者  redirect: 就不会调用视图解析器-->
    <mvc:view-resolvers>
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- 前缀 -->
            <property name="prefix" value="/WEB-INF/"/>
            <!-- 后缀 -->
            <property name="suffix" value=".jsp"/>
        </bean>
    </mvc:view-resolvers>
    
</beans>

赞(0) 打赏
未经允许不得转载:IDEA激活码 » SpringMVC配置式开发

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区