要学习使用spring mvc有几个简单的要领,spring mvc的架构很简单地想是透过一个共通的入口DispatcherServlet来接受所有的request,接着依request要求的页面透过handler转送给Controller处理;待Controller处理完毕后,再将结果丢让View呈页出来。大致上的示意图如下(ps. 俺不会uml只是常看大家这样用, 有错的话和我说一声啊。):
身为library user的我们,只需要在每一个流程中贡献一点心力。就能让spring mvc跑了起来
DispatcherServlet
DispathcerServlet
的 角色就好像是一个任意门,他位于spring mvc的"入口"想到那跟他说就对了。但是要使用任意门,您必需先安上他。要怎么按上呢? DispatcherServlet本身其实是一个Servlet,所以我们要做的事就是在web.xml中布署他。就如同一般Servlet布署的方式 一样,描述servlet的名字和类别,再给他一个mapping描述适用的网页。
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
<! DOCTYPE web - app PUBLIC ' -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN '' http://java.sun.com/dtd/web-app_2_3.dtd ' >
< web - app >
< servlet >
< servlet - name > dispatcher </ servlet - name >
< servlet - class > org.springframework.web.servlet.DispatcherServlet </ servlet - class >
< load - on - startup > 1 </ load - on - startup >
</ servlet >
< servlet - mapping >
< servlet - name > dispatcher </ servlet - name >
< url - pattern >* .htm </ url - pattern >
</ servlet - mapping >
</ web - app >
<! DOCTYPE web - app PUBLIC ' -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN '' http://java.sun.com/dtd/web-app_2_3.dtd ' >
< web - app >
< servlet >
< servlet - name > dispatcher </ servlet - name >
< servlet - class > org.springframework.web.servlet.DispatcherServlet </ servlet - class >
< load - on - startup > 1 </ load - on - startup >
</ servlet >
< servlet - mapping >
< servlet - name > dispatcher </ servlet - name >
< url - pattern >* .htm </ url - pattern >
</ servlet - mapping >
</ web - app >
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
<! DOCTYPE beans PUBLIC " -//SPRING//DTD BEAN//EN "" http://www.springframework.org/dtd/spring-beans.dtd " >
<!--
- Application context definition for " dispatcher " DispatcherServlet.
-->
< beans >
< bean id = " helloController " class = " HelloController " />
< bean id = " urlMapping " class = " org.springframework.web.servlet.handler.SimpleUrlHandlerMapping " >
< property name = " mappings " >
< props >
< prop key = " /hello.htm " > helloController </ prop >
</ props >
</ property >
</ bean >
< bean id = " viewResolver " class = " org.springframework.web.servlet.view.UrlBasedViewResolver " >
< property name = " viewClass " >< value > org.springframework.web.servlet.view.JstlView </ value ></ property >
< property name = " prefix " >< value >/ WEB - INF / jsp /</ value ></ property >
< property name = " suffix " >< value > .jsp </ value ></ property >
</ bean >
</ beans >
<! DOCTYPE beans PUBLIC " -//SPRING//DTD BEAN//EN "" http://www.springframework.org/dtd/spring-beans.dtd " >
<!--
- Application context definition for " dispatcher " DispatcherServlet.
-->
< beans >
< bean id = " helloController " class = " HelloController " />
< bean id = " urlMapping " class = " org.springframework.web.servlet.handler.SimpleUrlHandlerMapping " >
< property name = " mappings " >
< props >
< prop key = " /hello.htm " > helloController </ prop >
</ props >
</ property >
</ bean >
< bean id = " viewResolver " class = " org.springframework.web.servlet.view.UrlBasedViewResolver " >
< property name = " viewClass " >< value > org.springframework.web.servlet.view.JstlView </ value ></ property >
< property name = " prefix " >< value >/ WEB - INF / jsp /</ value ></ property >
< property name = " suffix " >< value > .jsp </ value ></ property >
</ bean >
</ beans >