SpringMVC 注解方式【重点】

2018-08-07  本文已影响7人  神豪VS勇士赢

第一步:配置前端控制器 以及全局编码
<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和方法对应,也就是这种注解的方式,一个模块一个类就可以了。在类中可以有多个方法。

上一篇下一篇

猜你喜欢

热点阅读