注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 Pass4sure CCNA640-802 v3..
 帮助

SpringMVC Ⅱ


2007-04-03 04:36:46
 标签:jsp Spring springMVC   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://blackanger.blog.51cto.com/140924/22455
三.   终于到SpringMVC.
怎么说呢,SpringMVC,顾名思义,就是spring里的Model-View-Control.框架.
给个来说明一下流程:
web.xml
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
 <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
 
<jsp-config>
<taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
… …
</jsp-config>
</web-app>
 
web.xmlDispatcherServlet负责处理所有.html请求,然后在dispatcher-servlet.xml中找到对应的Controller来处理相应的请求.
 
dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<beans>
   
    <bean id="registerValidator" class="cn.zhd.validator.RegisterValidator" />
   
    <bean id="registerAction" class="cn.zhd.mvc.RegisterAction">
       <property name="commandClass" value="cn.zhd.mvc.UserCommand" />
       <property name="validator" ref="registerValidator"></property>
       <property name="formView" value="login"></property>
       <property name="successView" value="success"></property>
    </bean>   
   
    <bean id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       <property name="mappings">
           <props>
              <prop key="/register.html">registerAction</prop>
              <prop key="/index.html">registerAction</prop>
           </props>
       </property>
    </bean>
   
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceView">
       <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>
 
其中, registerValidator为自定义注册校验类. registerAction为处理请求的对应类.
urlHandlerMapping设置了处理具体请求的相应的Controller. viewResolver设定了输出为jsp页面.此处用JSTL.
注意此处,作为输出的jsp都放到了WEB-INF目录下的jsp文件夹里,是为了强制使用MVC.也就是说,只有通过控制器才可以访问到jsp.
四.国际化支持
在配置文件applicationContext.xml文件中,增加如下节点:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<beans>
    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
       <property name="basename">
           <value>resource.message</value>
       </property>
    </bean>
</beans>
这样我们就设定了一个messageSource(固定,不能改名),并指定了资源文件的基名为”message”
然后在项目的src目录中加入resource文件夹,创建两个properties文件:
message_zh_CN.properties
 message_en.properties
也可以放到WEB-INF/classes目录下.
此处注意.web.xml中的如下节点:
<context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
   
    <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

本文出自 “{ :Alex Space => " Ruby Notes " }” 博客,请务必保留此出处http://blackanger.blog.51cto.com/140924/22455





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: