zoukankan      html  css  js  c++  java
  • [读后感]spring Mvc 教程框架实例以及系统演示下载

    [读后感]spring Mvc 教程框架实例以及系统演示下载

    太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)

    本文遵循“署名-非商业用途-保持一致”创作公用协议

    转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。



    不要好意思。昨晚写的。睡着忘发了。后附是篇好文。赶紧w分享一下。

    感脚着,俺好像做了件聪明事儿,却不知会不会遭到不理解。

    转载的好文。是不会推荐到首页的,所以,用这样的读后感的方式,引用好文,发表读后之感。

    当然,不是任意编造,而是确有实感。并且好文,确实也不是能出来的感受,请向后看吧。

    ---------------

    这篇没什么好说的,直接照做,不管是本地 Tomcat 6 ,还是 SAE 都能正常执行。

    之前下了个处理微信的源代码,想搞个个人微信公布,发些微信上转载的精品文章。谁想确没那么easy。

    看来就得一步一步地试试了。

    首先、使用 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:配置数据库连接的地址,username以及密码

    jdbc-context.xml:spring mvc的jdbc连接数据库的bean的配置

    springMvc3-servlet.xml:spring mvc的其它配置(非常重要)

    log4j.properties:控制台打印日志的配置、输出日志文件的配置


    1. database.properties的配置:注意替换shujuku_name为你的数据库名称,还实username、密码

    mysql.driverclass=com.mysql.jdbc.Driver

    mysql.jdbcurl=jdbc:mysql://127.0.0.1:3306/shujuku_name?autoReconnect=true&useUnicode=true&characterEncoding=utf8

    mysql.user=root

    mysql.password=abc123

    2. 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.ConsoleAppender

    log4j.appender.console.Target=System.out

    log4j.appender.console.layout=org.apache.log4j.PatternLayout

    log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n

    log4j.appender.console.threshold=INFO


    log4j.appender.R=org.apache.log4j.RollingFileAppender

    log4j.appender.R.layout=org.apache.log4j.PatternLayout

    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n

    log4j.appender.R.File=/alidata/zkyj/web/zkyj-web.log

    log4j.appender.R.Append=true

    log4j.appender.R.Threshold=INFO

    log4j.appender.R.MaxFileSize=20MB

    log4j.appender.LOGFILE.MaxBackupIndex=100

    log4j.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;


    @Controller

    public 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后,測试訪问localhost

    http://localhost:8080/codingYun-Demo/ 訪问成功。则说明项目搭建成功。


    七、框架源代码下载

    这次的spring mvc框架实例,我为大家无偿共享到我的云盘了。如有须要,请自行下载。

    最后补充一句,有不论什么问题。您都能够在本页评论处留言,我会尽快为您解答。

    http://yunpan.cn/Q7cPpVKAqNN4E  提取码 2fde


    假设帮到您的话,请为本文点赞、同一时候分享给您的好友圈。


    ******************2014年10月10日18:30:10更新*************

    coding云的粉丝们。福利来了。spring Mvc 框架实例进阶篇已经为大家提供了哦。包括了coding云的主页、登录功能、验证码功能,并且页面集成了bootstrap前端框架哦。大家快快来下载项目源代码吧。

    传送门:spring Mvc 框架实例进阶篇--登录功能源代码下载





  • 相关阅读:
    第二个月课堂004讲解python之实战之元组(003)_高级讲师肖sir
    第二个月课堂004讲解python之实战之列表(002)_高级讲师肖sir
    多测师课堂_mysql之报错日志(001)高级讲师肖sir
    多测师课堂012_mysql之存储过程(练习和答案)高级讲师肖sir
    linux alias 命令 查看系统设置的命令别名
    前端 CSS 介绍
    前端 CSS语法
    前端 CSS 注释
    前端 CSS 目录
    linux echo 命令 打印字符串
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7294161.html
Copyright © 2011-2022 走看看