[读后感]spring Mvc 教程框架实例以及系统演示下载
2014-11-12 19:28
501 查看
[读后感]spring Mvc 教程框架实例以及系统演示下载
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
不要好意思,昨晚写的,睡着忘发了,后附是篇好文,赶紧w分享一下。
感脚着,俺好像做了件聪明事儿,却不知会不会遭到不理解。
转载的好文,是不会推荐到首页的,所以,用这种读后感的方式,引用好文,发表读后之感。
当然,不是随意编造,而是确有实感,而且好文,确实也不是能出来的感受,请向后看吧。
---------------
这篇没什么好说的,直接照做,无论是本地 Tomcat 6 ,还是 SAE 都能正常运行。
之前下了个处理微信的源码,想搞个个人微信发布,发些微信上转载的精品文章,谁想确没那么容易。
看来就得一步一步地试试了。
首先、使用 Eclipse 建个动态 Web 工程,加入个 index.jsp,发布 War 包到 Tomcat 6,测试成功,再上传到 SAE,也成功了;
然后、找来下文,逐步照做,并下载附件中 JAR 包加入,继续发布,也成功了;
接着、还不知道要做什么,是研究一下 MyBatis ,还是研究一下 Spring MVC 的深入配置与注解处理规则?
弄着玩的东西,也无所谓了,走哪算哪儿,有闲工夫,就花上半小时,玩一玩,比玩游戏要强一些吧,玩游戏锻炼身体的耐力,
玩这东西,拿着 11寸 Mac Book Air ,你是想躺着,还是卧着,又或趴着,反正一指禅足够用了,对身体基本没有要求。
话说,研究这东西,虽然工作中用不到,但至少看别人写的东西,疏理个大体逻辑,还是没问题的,有助于工作上沟通和问题解决,何乐不为呢。
希望此文能给爱玩的兄弟一些参照,借超有爱的原作者的花,献给大家吧!
spring Mvc 教程框架实例以及系统演示下载发表时间:2014-09-04 11:31 | coding云 | 3320次阅读 | 21条评论
今天coding云为大家带来spring mvc框架的实例教程,该教程没有复杂的内容,不需要了解spring mvc的运行机制,就可以搭建好框架,继而进行快速开发,以此来体会spring mvc框架的简单、易用、方便以及安全的各种特性。事先说明,本文没有过多的理论内容,但是当您搭建好这套框架,慢慢的就能体会到其中包含的理论知识了哦。 配置文件我都为大家准备好了,而且有源码包可以下载。这样就能方便您的快速学习,等您在自己的机器搭建好该项目,跑起来本文提供的简单例子后,您可以看看我们的源码,注释都很详细,通过例子去理解这些配置,这样就能帮助您快速理解spring mvc的一些运行机制,从而掌握这套优秀的框架。 顺便告诉大家一声,coding云就是建立在该例子之上的哦,期待您也能成长为拥有类似coding云这样站点的大牛哦。ok,下面开始着手搭建框架。
一、准备eclipse开发环境 eclipse是java程序员必备的开发环境,如果您还在用MyEclipse的话,我只能强烈建议您开始使用eclipse,作为一个java程序员,如果没有用过eclipse的话,那就不是一个合格的java程序员,具体原因请百度。 我为大家准备的是eclipse4.3版本,只安装了常用的插件,比如svn版本控制以及maven等,完全从官方的最初版本安装插件后的版本。大家可以到我的网盘下载,下面是免费共享链接: http://yunpan.cn/Q7ws623WhxEZg 提取码 ca2c
至于jdk的环境变量等(java程序员必须懂),请自行google、百度。
二、eclipse下新建项目
1. 打开eclipse后,点击【File】--》【new】,弹出窗口,选择【web】--》【Dynamic Web project】
2. 一路next,在新打开的窗口,输入项目名称,本例中输入的是codingyun-demo,继续点击next,最后点击finish,项目列表中就能看到我们的新项目codingyun-demo了.
3. 导入spring mvc相关的jar包到lib下首先下载jar包,我已经把相关jar包都准备好了,大家可以到网盘直接下载:http://yunpan.cn/Q7wyWjWYfW5Wq 提取码 d2c4解压缩后,将所有jar包放到项目的【WebContent】目录下的【WEB-INF】目录下的lib目录下,直接复制粘贴进去就ok
4.配置项目引用刚才导入到lib下的jar包右键点击项目名,在菜单中选择【Build Path】--》【Configuration Build Path...】
三、新增spring mvc的配置文件找到项目目录下的【Java Resources】,右键点击【Java Resources】,在弹出窗口选择【new】--》【Source folder】,
source folder建好之后,需要把配置文件复制粘贴进去,如下图:
这四个文件分别是:database.properties:配置数据库连接的地址,用户名以及密码jdbc-context.xml:spring mvc的jdbc连接数据库的bean的配置springMvc3-servlet.xml:spring mvc的其他配置(非常重要)log4j.properties:控制台打印日志的配置、输出日志文件的配置
1. database.properties的配置:注意替换shujuku_name为你的数据库名称,还有用户名、密码mysql.driverclass=com.mysql.jdbc.Drivermysql.jdbcurl=jdbc:mysql://127.0.0.1:3306/shujuku_name?autoReconnect=true&useUnicode=true&characterEncoding=utf8mysql.user=rootmysql.password=abc1232. jdbc-context.xml的配置:暂时未加事务控制等配置,本次实例为了简单一些。如有需要,请百度或者给我留言,我会补充上来<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd" default-autowire="byName"> <!-- 创建数据源 commons-dbcp.jar; commons-pool.jar包--> <context:property-placeholder location="classpath:database.properties"/> <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${mysql.driverclass}" /> <property name="url" value="${mysql.jdbcurl}" /> <property name="username" value="${mysql.user}" /> <property name="password" value="${mysql.password}" /> </bean>
<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate"> <constructor-arg><ref bean="dataSource"/></constructor-arg> </bean> <!-- 看了spring源码,该 org.springframework.jdbc.core.JdbcTemplate类的继承类有dataSource属性,所以可以属性注入--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean> </beans>3. springMvc3-servlet.xml的配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <!-- 启动扫描所有的controller --> <context:component-scan base-package="com.codingyun.core.action"/> <!-- 主要作用于@Controller,激活该模式 下面是一种简写形式,完全可以手动配置替代这种简写形式; 它会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean, 是spring MVC为@Controllers分发请求所必须的 --><!-- <mvc:annotation-driven/> --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 配置js,css等静态文件直接映射到对应的文件夹,不被DispatcherServlet处理 --> <mvc:resources location="/WEB-INF/resources/**" mapping="/resources"/> <mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/> <mvc:resources mapping="/styles/**" location="/static/css/"/> <mvc:resources mapping="/images/**" location="/static/images/"/> <!-- 配置页面访问地址www.xxx.com/about返回的静态html文件 --> <mvc:resources mapping="/about/**" location="/WEB-INF/html/"/> <!-- 走servlet的默认配置,先走默认的web.xml配置的servlet,没有的话才找对应controller --> <mvc:default-servlet-handler /> <!-- jsp页面解析器,当Controller返回XXX字符串时,先通过拦截器,然后该类就会在jsp/目录下,查找XXX.jsp文件--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding"> <value>UTF-8</value> </property> <property name="maxUploadSize"> <value>32505856</value><!-- 上传文件大小限制为31M,31*1024*1024 --> </property> <property name="maxInMemorySize"> <value>4096</value> </property> </bean> </beans>4. log4j.properties的配置:log4j.rootLogger=INFO,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target=System.outlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.console.threshold=INFO
log4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.R.File=/alidata/zkyj/web/zkyj-web.loglog4j.appender.R.Append=truelog4j.appender.R.Threshold=INFOlog4j.appender.R.MaxFileSize=20MBlog4j.appender.LOGFILE.MaxBackupIndex=100log4j.org.springframework.web=INFO
四、配置web.xml,以及新建jsp、css、js等目录
依照上图,新建目录,以及web.xml文件web.xml的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>zkyj-web</display-name> <!-- web.xml 的加载顺序是:context-param -> listener -> filter -> servlet , 而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的 --> <!-- spring上下文载入监听器,确保web服务启动时,spring已经完成初始化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:jdbc-context.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> <init-param> <param-name>ForceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<servlet> <servlet-name>springMvc3</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMvc3-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 会话超时配置(单位为分钟) --> <session-config> <session-timeout>120</session-timeout> </session-config> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>springMvc3</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <!-- 通过错误码来配置error-page ,配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp。 --> <error-page> <error-code>404</error-code> <location>/page404.html</location> </error-page> <!-- 通过异常的类型配置error-page ,配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp --> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/WEB-INF/jsp/error.jsp</location> </error-page> </web-app>五、新建controller,接收页面请求,返回相应的页面在项目的src目录下新建包com.codingyun.core.action在该包下新建indexController.java
indexController.java内容:
package com.codingyun.core.action;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;
@Controllerpublic class IndexController{ /** * 进入demo首页 * @user jack * 2014年9月4日 */ @RequestMapping(value = "", method = RequestMethod.GET) public String index(HttpServletRequest request){ //对应的是WebContent目录下的WEB-INF目录下的jsp目录下的demo下的index.jsp //请查看配置文件springMvc3-servlet.xml仔细体会一下 return "demo/index"; }
}六、配置tomcat,启动tomcat后,测试访问localhosthttp://localhost:8080/codingYun-Demo/ 访问成功,则说明项目搭建成功。
七、框架源码下载这次的spring mvc框架实例,我为大家无偿共享到我的云盘了,如有需要,请自行下载。最后补充一句,有任何问题,您都可以在本页评论处留言,我会尽快为您解答。http://yunpan.cn/Q7cPpVKAqNN4E 提取码 2fde
如果帮到您的话,请为本文点赞、同时分享给您的好友圈。
******************2014年10月10日18:30:10更新*************coding云的粉丝们,福利来了。spring Mvc 框架实例进阶篇已经为大家提供了哦,包含了coding云的主页、登录功能、验证码功能,而且页面集成了bootstrap前端框架哦,大家快快来下载项目源码吧。传送门:spring Mvc 框架实例进阶篇--登录功能源码下载
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
不要好意思,昨晚写的,睡着忘发了,后附是篇好文,赶紧w分享一下。
感脚着,俺好像做了件聪明事儿,却不知会不会遭到不理解。
转载的好文,是不会推荐到首页的,所以,用这种读后感的方式,引用好文,发表读后之感。
当然,不是随意编造,而是确有实感,而且好文,确实也不是能出来的感受,请向后看吧。
---------------
这篇没什么好说的,直接照做,无论是本地 Tomcat 6 ,还是 SAE 都能正常运行。
之前下了个处理微信的源码,想搞个个人微信发布,发些微信上转载的精品文章,谁想确没那么容易。
看来就得一步一步地试试了。
首先、使用 Eclipse 建个动态 Web 工程,加入个 index.jsp,发布 War 包到 Tomcat 6,测试成功,再上传到 SAE,也成功了;
然后、找来下文,逐步照做,并下载附件中 JAR 包加入,继续发布,也成功了;
接着、还不知道要做什么,是研究一下 MyBatis ,还是研究一下 Spring MVC 的深入配置与注解处理规则?
弄着玩的东西,也无所谓了,走哪算哪儿,有闲工夫,就花上半小时,玩一玩,比玩游戏要强一些吧,玩游戏锻炼身体的耐力,
玩这东西,拿着 11寸 Mac Book Air ,你是想躺着,还是卧着,又或趴着,反正一指禅足够用了,对身体基本没有要求。
话说,研究这东西,虽然工作中用不到,但至少看别人写的东西,疏理个大体逻辑,还是没问题的,有助于工作上沟通和问题解决,何乐不为呢。
希望此文能给爱玩的兄弟一些参照,借超有爱的原作者的花,献给大家吧!
spring Mvc 教程框架实例以及系统演示下载发表时间:2014-09-04 11:31 | coding云 | 3320次阅读 | 21条评论
今天coding云为大家带来spring mvc框架的实例教程,该教程没有复杂的内容,不需要了解spring mvc的运行机制,就可以搭建好框架,继而进行快速开发,以此来体会spring mvc框架的简单、易用、方便以及安全的各种特性。事先说明,本文没有过多的理论内容,但是当您搭建好这套框架,慢慢的就能体会到其中包含的理论知识了哦。 配置文件我都为大家准备好了,而且有源码包可以下载。这样就能方便您的快速学习,等您在自己的机器搭建好该项目,跑起来本文提供的简单例子后,您可以看看我们的源码,注释都很详细,通过例子去理解这些配置,这样就能帮助您快速理解spring mvc的一些运行机制,从而掌握这套优秀的框架。 顺便告诉大家一声,coding云就是建立在该例子之上的哦,期待您也能成长为拥有类似coding云这样站点的大牛哦。ok,下面开始着手搭建框架。
一、准备eclipse开发环境 eclipse是java程序员必备的开发环境,如果您还在用MyEclipse的话,我只能强烈建议您开始使用eclipse,作为一个java程序员,如果没有用过eclipse的话,那就不是一个合格的java程序员,具体原因请百度。 我为大家准备的是eclipse4.3版本,只安装了常用的插件,比如svn版本控制以及maven等,完全从官方的最初版本安装插件后的版本。大家可以到我的网盘下载,下面是免费共享链接: http://yunpan.cn/Q7ws623WhxEZg 提取码 ca2c
至于jdk的环境变量等(java程序员必须懂),请自行google、百度。
二、eclipse下新建项目
1. 打开eclipse后,点击【File】--》【new】,弹出窗口,选择【web】--》【Dynamic Web project】
2. 一路next,在新打开的窗口,输入项目名称,本例中输入的是codingyun-demo,继续点击next,最后点击finish,项目列表中就能看到我们的新项目codingyun-demo了.
3. 导入spring mvc相关的jar包到lib下首先下载jar包,我已经把相关jar包都准备好了,大家可以到网盘直接下载:http://yunpan.cn/Q7wyWjWYfW5Wq 提取码 d2c4解压缩后,将所有jar包放到项目的【WebContent】目录下的【WEB-INF】目录下的lib目录下,直接复制粘贴进去就ok
4.配置项目引用刚才导入到lib下的jar包右键点击项目名,在菜单中选择【Build Path】--》【Configuration Build Path...】
三、新增spring mvc的配置文件找到项目目录下的【Java Resources】,右键点击【Java Resources】,在弹出窗口选择【new】--》【Source folder】,
source folder建好之后,需要把配置文件复制粘贴进去,如下图:
这四个文件分别是:database.properties:配置数据库连接的地址,用户名以及密码jdbc-context.xml:spring mvc的jdbc连接数据库的bean的配置springMvc3-servlet.xml:spring mvc的其他配置(非常重要)log4j.properties:控制台打印日志的配置、输出日志文件的配置
1. database.properties的配置:注意替换shujuku_name为你的数据库名称,还有用户名、密码mysql.driverclass=com.mysql.jdbc.Drivermysql.jdbcurl=jdbc:mysql://127.0.0.1:3306/shujuku_name?autoReconnect=true&useUnicode=true&characterEncoding=utf8mysql.user=rootmysql.password=abc1232. jdbc-context.xml的配置:暂时未加事务控制等配置,本次实例为了简单一些。如有需要,请百度或者给我留言,我会补充上来<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd" default-autowire="byName"> <!-- 创建数据源 commons-dbcp.jar; commons-pool.jar包--> <context:property-placeholder location="classpath:database.properties"/> <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${mysql.driverclass}" /> <property name="url" value="${mysql.jdbcurl}" /> <property name="username" value="${mysql.user}" /> <property name="password" value="${mysql.password}" /> </bean>
<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate"> <constructor-arg><ref bean="dataSource"/></constructor-arg> </bean> <!-- 看了spring源码,该 org.springframework.jdbc.core.JdbcTemplate类的继承类有dataSource属性,所以可以属性注入--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean> </beans>3. springMvc3-servlet.xml的配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <!-- 启动扫描所有的controller --> <context:component-scan base-package="com.codingyun.core.action"/> <!-- 主要作用于@Controller,激活该模式 下面是一种简写形式,完全可以手动配置替代这种简写形式; 它会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean, 是spring MVC为@Controllers分发请求所必须的 --><!-- <mvc:annotation-driven/> --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 配置js,css等静态文件直接映射到对应的文件夹,不被DispatcherServlet处理 --> <mvc:resources location="/WEB-INF/resources/**" mapping="/resources"/> <mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/> <mvc:resources mapping="/styles/**" location="/static/css/"/> <mvc:resources mapping="/images/**" location="/static/images/"/> <!-- 配置页面访问地址www.xxx.com/about返回的静态html文件 --> <mvc:resources mapping="/about/**" location="/WEB-INF/html/"/> <!-- 走servlet的默认配置,先走默认的web.xml配置的servlet,没有的话才找对应controller --> <mvc:default-servlet-handler /> <!-- jsp页面解析器,当Controller返回XXX字符串时,先通过拦截器,然后该类就会在jsp/目录下,查找XXX.jsp文件--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding"> <value>UTF-8</value> </property> <property name="maxUploadSize"> <value>32505856</value><!-- 上传文件大小限制为31M,31*1024*1024 --> </property> <property name="maxInMemorySize"> <value>4096</value> </property> </bean> </beans>4. log4j.properties的配置:log4j.rootLogger=INFO,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target=System.outlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.console.threshold=INFO
log4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%nlog4j.appender.R.File=/alidata/zkyj/web/zkyj-web.loglog4j.appender.R.Append=truelog4j.appender.R.Threshold=INFOlog4j.appender.R.MaxFileSize=20MBlog4j.appender.LOGFILE.MaxBackupIndex=100log4j.org.springframework.web=INFO
四、配置web.xml,以及新建jsp、css、js等目录
依照上图,新建目录,以及web.xml文件web.xml的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>zkyj-web</display-name> <!-- web.xml 的加载顺序是:context-param -> listener -> filter -> servlet , 而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的 --> <!-- spring上下文载入监听器,确保web服务启动时,spring已经完成初始化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:jdbc-context.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> <init-param> <param-name>ForceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<servlet> <servlet-name>springMvc3</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMvc3-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 会话超时配置(单位为分钟) --> <session-config> <session-timeout>120</session-timeout> </session-config> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>springMvc3</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <!-- 通过错误码来配置error-page ,配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp。 --> <error-page> <error-code>404</error-code> <location>/page404.html</location> </error-page> <!-- 通过异常的类型配置error-page ,配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp --> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/WEB-INF/jsp/error.jsp</location> </error-page> </web-app>五、新建controller,接收页面请求,返回相应的页面在项目的src目录下新建包com.codingyun.core.action在该包下新建indexController.java
indexController.java内容:
package com.codingyun.core.action;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;
@Controllerpublic class IndexController{ /** * 进入demo首页 * @user jack * 2014年9月4日 */ @RequestMapping(value = "", method = RequestMethod.GET) public String index(HttpServletRequest request){ //对应的是WebContent目录下的WEB-INF目录下的jsp目录下的demo下的index.jsp //请查看配置文件springMvc3-servlet.xml仔细体会一下 return "demo/index"; }
}六、配置tomcat,启动tomcat后,测试访问localhosthttp://localhost:8080/codingYun-Demo/ 访问成功,则说明项目搭建成功。
七、框架源码下载这次的spring mvc框架实例,我为大家无偿共享到我的云盘了,如有需要,请自行下载。最后补充一句,有任何问题,您都可以在本页评论处留言,我会尽快为您解答。http://yunpan.cn/Q7cPpVKAqNN4E 提取码 2fde
如果帮到您的话,请为本文点赞、同时分享给您的好友圈。
******************2014年10月10日18:30:10更新*************coding云的粉丝们,福利来了。spring Mvc 框架实例进阶篇已经为大家提供了哦,包含了coding云的主页、登录功能、验证码功能,而且页面集成了bootstrap前端框架哦,大家快快来下载项目源码吧。传送门:spring Mvc 框架实例进阶篇--登录功能源码下载
相关文章推荐
- [读后感]spring Mvc 教程框架实例以及系统演示下载
- spring Mvc 教程框架实例以及系统演示下载
- spring Mvc 教程框架实例以及系统演示下载-转载自coding云
- spring Mvc 教程框架实例以及系统演示下载
- spring Mvc 教程框架实例以及系统演示下载
- Spring Mvc 教程框架实例以及系统演示下载
- spring Mvc 教程框架实例以及系统演示下载
- Apache Shiro+SpringMVC+Hibernate Search+Hibernate+Bootstrap企业信息管理系统基础框架搭建整合实例代码教程
- PE安装Win8纯净版教程【附Win864/32位系统下载地址以及系统激活工具和解压软件安装包】
- 使用maven与MyEclipse整合ssm(Spring MVC、Spring、Mybatis)三大框架并实现用户注册(环境搭载+实例源码下载)
- PE安装Win10纯净版教程【附Win10企业版/专业版/64/32位系统下载地址以及系统激活工具和解压软件安装包】
- Spring MVC用户注册配置入门教程及其代码实例demo下载
- Apache Shiro+SpringMVC+Hibernate Search+Hibernate+Bootstrap企业信息管理系统基础框架搭建整合实例代码教程
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- Windows 7系统默认字体替换工具下载―以及win7系统字体替换教程
- 使用Python的Twisted框架构建非阻塞下载程序的实例教程
- 使用Python的Twisted框架构建非阻塞下载程序的实例教程
- PHP使用七牛云存储之图片的上传、下载、303重定向教程,CI框架实例
- 一个实例演示jersey框架实现RESTful风格的Webservice,并发布到Tomcat,以及客户端调用示范
- PHP使用七牛云存储之图片的上传、下载、303重定向教程,CI框架实例