因项目需要,需要使用spring web mvc。特从nebeans 官网上找到一个简单mvc应用程序的构建向导http://netbeans.org/kb/docs/web/quickstart-webapps-spring.html,自己动手建了一下。特写此总结。
首先在web.xml文件中有如下几行:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
即把所有匹配*.htm的请求全交给dispatcher处理,当然一次刷新也算一次请求。
然后在dispatcher-serclet.xml文件中配置参数,告诉dispatcher怎样处理请求,内容如下:
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="index.htm">indexController</prop>
</props>
</property>
</bean>
将请求index.htm映射给indexController处理,至于indexController怎么处理,那就得看它的功能了。它的注册如下:
<bean name="indexController"
class="org.springframework.web.servlet.mvc.ParameterizableViewContr
oller"
p:viewName="index" />
上述代码将indexController注册为org.springframework.web.servlet.mvc.ParameterizableViewContr
oller的实例。对于index.htm请求,将返回/WEB-INF/jsp/index.jsp页面。
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewReso
lver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
该代码实现在jsp文件名(如 index)上加一个前缀/WEB-INF/jsp/和加一个后缀.jsp。
<bean class="com.xuriwuyun.www.controller.HelloController" p:helloService-ref="helloService"/>
该行代码实例化自己的HelloController,并将属性HelloService于实例helloService关联。
下面来看看HelloController类,该类继承于SimpleFormController。构造函数:
HttpServletResponse response,
Object command,
//由上面setCommandClass(MyCommand.class)指定的MyCommand类
org.springframework.validation.BindException errors) throws Exception {
来看看/WEB-INF/jsp/formView.jsp文件:
该web应用运行流程如下: