一.准备工作
jdk1.4.2
ApplicationServer: Tomcat 5.0
Spring 1.2.8
设置Ide的文件默认编码为utf-8(可能需要重启)。
Jar列表如下,大部分在Spring的lib目录下找得到。
standard.jar,jstl.jar,spring.jar,antlr-2.7.5H3.jar,aopalliance.jar,c3p0-0.9.0.4.jar,cglib-nodep-2.1_3.jar,jaxen-1.1-beta-4.jar,dom4j-1.6.jar,ehcache-1.1.jar,ejb.jar,mail.jar,jdbc2_0-stdext.jar,rowset.jar,jta.jar,jaxrpc.jar,activation.jar,jsp-api.jar,xml-apis.jar,jms.jar,connector.jar,commons-lang.jar,commons-discovery.jar,commons-digester.jar,commons-attributes-api.jar,commons-dbcp.jar,commons-fileupload.jar,commons-collections.jar,commons-attributes-compiler.jar,commons-httpclient.jar,commons-codec.jar,commons-pool.jar,commons-beanutils.jar,commons-logging.jar,commons-validator.jar,log4j-1.2.13.jar,jakarta-oro-2.0.8.jar,junit.jar,j
二.建立工程
好了,新建index.jsp如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>首页</title></head>
<body>
<c:out value="你好 Spring" />
</body>
</html>
三。现在完成一个SpringMvc的HelloWorld
1. 在web.xml中配置一个名称为springapp的DispatcherServlet及CharacterEncodingFilter.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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" >
<servlet>
<servlet-name>springapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<filter>
<filter-name> CharacterEncodingFilter </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> CharacterEncodingFilter </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/uncaughtException.jsp</location>
</error-page>
</web-app>
2. 建立/WEB-INF/springapp-servlet.xml文件,此配置文件将会被在web.xml中配置的名为springapp的servlet载入。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
。。。。。。。。。。。。。。
</beans>
建立welcome.jsp(在web.xml中指定的web首页),dataAccessFailure.jsp(数据库访问异常的显示页面),uncaughtException.jsp(未知异常的友好显示页面)文件
welcome.jsp内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:redirect url="/index.htm" />
实现一个简单的Controller 类:WelcomeController,代码如下:
package springapp.web;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
import java.util.HashMap;
/**
* User: Saro
* Date: 2006-4-22
*/
public class WelcomeController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
String welcomeMessage="你好 Spring";
Map model=new HashMap();
model.put("welcomeMessage",welcomeMessage);
return new ModelAndView("/index.jsp",model);
}
}
此Controller简单转发到index.jsp页面,并以welcomeMessage为key,放置一字符串。
修改index.jsp为:
<c:out value="${welcomeMessage}" />
springapp-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>
<!-- 拦截Controller中抛出的异常,转向到指定视图-->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="org.springframework.dao.DataAccessException">/dataAccessFailure.jsp</prop>
<prop key="org.springframework.transaction.TransactionException">/dataAccessFailure.jsp</prop>
</props>
</property>
</bean>
<!-- 视图url和ControllerBean的映射配置-->
<bean
id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
index.htm = welcomeController
</value>
</property>
</bean>
<!-- Controller Bean-->
<bean id="welcomeController" class="springapp.web.WelcomeController" />
</beans>
运行Tomcat。