你的位置:首页 > Java教程

[Java教程]SpringMVC——一个简单的例子


一、导入 jar 包

二、配置 web.

<servlet>  <servlet-name>dispatcherServlet</servlet-name>  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  <init-param>    <param-name>contextConfigLocation</param-name>    <param-value>/WEB-INF/springmvc-servlet.</param-value>  </init-param></servlet><servlet-mapping>  <servlet-name>dispatcherServlet</servlet-name>  <url-pattern>*.action</url-pattern></servlet-mapping>

说明:

配置了 SpringMVC 的核心处理器类 org.springframework.web.servlet.DispatcherServlet ,其中 url-pattern 指定了要过滤的请求。

需要注意的是:DispatcherServlet 默认加载 /WEB-INF/servletName-servler.

三、添加 SpringMVC Config 文件(springmvc-servlet.

<context:component-scan base-package="com.nucsoft.springmvc.handler"/><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  <property name="prefix" value="/WEB-INF/views/"/>  <property name="suffix" value=".jsp"/></bean>

 说明:

(1)指定要扫描的基包

(2)指定视图解析器:prefix + viewName + suffix

四、添加目标类

/** * @author solverpeng * @create 2016-08-01-19:19 */@Controllerpublic class HelloWorldHandler {  @RequestMapping("/hello")  public String hello() {    System.out.println("hello world...");    return "hello";  }}

说明:

(1)请求处理类必须在 IOC 容器中

(2)@RequestMapping 用来映射请求,其中 value 属性指定映射的 url。可以作用类上,相当于 namespace 的作用。

(3)返回值最终会被解析为 ModelAndView 对象。结合视图解析器,返回到视图。

 

五、SpringMVC 作为一个表示层的框架,是继 Stuts2 之后的又一个优秀的框架,且有 Spring 整个体系作用支撑,使用起来感觉更加的优雅。

学习 SpringMVC时,要明白它的核心处理器,以及表示层要解决的问题,

如:获取原生的Servlet资源问题、映射问题、参数获取问题、模型注入问题、格式化问题、数据校验问题、返回值处理问题、视图渲染问题、防止表单重复提交问题、文件上传下载问题等等。

以及 SpringMVC 整个的运行流程,以及请求的生命周期问题。能否通过自定义的方式来实现我们想要但是 SpringMVC 还没有解决的问题。

对比于 Struts2,有什么优点、缺点。

想要学会 SpringMVC ,需要真正弄懂上述这些问题。