美文网首页
SpringMVC 注解方式【重点】

SpringMVC 注解方式【重点】

作者: 神豪VS勇士赢 | 来源:发表于2018-08-07 17:41 被阅读7次

    第一步:配置前端控制器 以及全局编码
    <filter>
    <filter-name>myfillter</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>myfillter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    第二步:配置注解的映射器和适配器

    方案一:
    观察接口HandlerMapping的实现类。


    image.png

    RequestMappingHandlerMapping
    RequestMappingHandlerAdapter

    <!-- 注解映射器 --> 
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> 
    <!-- 注解的适配器--> 
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
    

    方案二:推荐
    替换上面配置的第二种方式:
    替代注解映射器和注解适配器,同时具备更多的能力,推荐使用。
    <mvc:annotation-driven></mvc:annotation-driven>

    第三步:配置视图解析器


    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>

    第四步:
    开发注解的Controller
    编写自定义的Action,使用注解不需要实现接口
    @Controller声明在类上,来源于@Component

    方法自定义,通过@RequestMapping指定请求的路径

    @RequestMapping请求映射:

    1. 加在类上[可选]:给模块加跟路径


      image.png

    2.加在方法上:方法请求路径


    image.png

    \

    image.png

    @Controller
    public class FirstController {
    @RequestMapping("first.do")
    public ModelAndView goToFirstPage(HttpServletRequest httpServletRequest){
    ModelAndView modelAndView=new ModelAndView();
    modelAndView.addObject("firstInfo","这是第一个页面");
    modelAndView.setViewName("/first.jsp");
    return modelAndView;
    }
    }

    第五步:配置注解扫描
    开启注解扫描:
    <context:component-scan 多个扫描路径可以用逗号分割
    注解需要扫描

    <context:component-scan base-package="com.zyh.controller"></context:component-scan>

    扫描的目的就是容器帮助我们创建对象。

    第六步: 编写 jsp

    image.png

    第七步:测试:
    当我们在页面输入 http://localhost:8080/first.do 页面转发到first.jsp

    image.png

    注解方式的优点是:
    可以每个方法都加入一个url和方法对应,也就是这种注解的方式,一个模块一个类就可以了。在类中可以有多个方法。

    相关文章

      网友评论

          本文标题:SpringMVC 注解方式【重点】

          本文链接:https://www.haomeiwen.com/subject/nheavftx.html