Spring2.5 动态&静态 MVC 框架(一)

总结下:

看了一下官方文档,扒下代码,稍作修改,一个静态的Spring MVC实例。

之后修改为Spring动态的 MVC。

今天很想把做个笔记,找找找,发现丢了,自己又拼了一个,我傻了。。。

 

必须睡觉了,悲剧了

 

1.下载spring用到的jar包,我不喜欢把所有的jar一下子导进去,不想多说,这里有一个深刻的教训,spring2 和spring3,以后的jar会有冲突,养成好的开发习惯,用到jar就导,根据异常去加载用到的jar 

jar 如图

 

重要文件如下,总结改天添加

ideashopx-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="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <value> /index.do=indexController </value> </property> </bean> <bean id="indexController" class="net.ideawu.ideashopx.web.IndexController"> </bean> </beans>

 

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> </beans>

log4j.properties

 

log4j.rootLogger=INFO, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.File=${ideashopx.root}/WEB-INF/logs/ideashopx.log log4j.appender.logfile.MaxFileSize=1024KB # Keep three backup files. log4j.appender.logfile.MaxBackupIndex=3 # Pattern to output: date priority [category] - message log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

web.xml

<?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"> <context-param> <param-name>webAppRootKey</param-name> <param-value>ideashopx.root</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext.xml </param-value> </context-param> <filter> <filter-name>encodingFilter</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> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <servlet> <servlet-name>ideashopx</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ideashopx</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>

 

WEB-INF/jsp/index.jsp

<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>${text}</title> <mce:style type="text/css"><!-- body{ font-size: 12px; font-family: arial; } --></mce:style><style type="text/css" mce_bogus="1">body{ font-size: 12px; font-family: arial; }</style> </head> <body> <h1>${text}</h1> </body> </html>

 

WEB-INF/index.jsp

<jsp:forward page="index.do" />

 

WEB-INF/getName.jsp

<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hello World from JSP!</title> <mce:style type="text/css"><!-- body{ font-size: 12px; font-family: arial; } --></mce:style><style type="text/css" mce_bogus="1">body{ font-size: 12px; font-family: arial; }</style> </head> <body> <h1>Hello World from JSP!</h1> ${param.name} </body> </html>

注:<!-- 
${param.name}
 
 在浏览器地址栏中输入http://localhost:8080/ideashopx/?name=myshop, 你看到了什么? 你应该看到显示的文本增加了小号的 myshop 字样. 这就是index.jsp文件中${param.name}的效果.
${param.name}是JSTL语句, 用来输出变量, param.name是网页请求中的name参数. JSTL -->

 

 

src.net.ideawu.ideashopx.web.IndexController类(与

ideashopx-servlet.xml配置文件对应.

)

/*********************************************************** * Date: 2011-4-06 * File: IndexController.java * Author: democreen ***********************************************************/ package net.ideawu.ideashopx.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; /** * 测试用的控制器. * @author ideawu */ public class IndexController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { // 将一条信息放入 HttpServletRequest 对象中, 视图模板文件将通过 "text" 访问该信息. // BeanFactory beanFactory = new ClassPathXmlApplicationContext(new String[]{ // "applicationContext.xml", // "ideashopx-servlet.xml" // }); request.setAttribute("text", "Hello World from Spring!"); // 调用名为 index 的视图模板文件. return new ModelAndView("index"); } }

 

 

跑起来,可以研究下

ideashopx-servlet.xml

文件,继续加载,添加几个页面,注入几个接口,可以做一做,这个静态的笔记,写到这.

 

有价值的东西就是  学习如何写web.xml 与

ideashopx-servlet.xml

 

一般不会用这种方式,应为他死板,但是这确实是spring mvc框架,这个spring mvc框架含义尽在其中.

 

 

 

你可能感兴趣的:(spring,框架,mvc,bean,XHTML,encoding)