[原创] Spring3.0例子petclinic的搭建

    与Spring2.0不同的是,Spring3.0使用了Maven工具,省去你手动下载petclinic相关jar包的麻烦。这听起来太方便了!可是,本人使用的是校园网(教育网),jar包的下载过程并不是很顺利。折腾了一会,才算搭建起来。

 

1. 下载petclinic源码

    1)安装TortoiseSVN

    2)用svn把petclinic从spring的repository下载(check out)下来

          地址:https://src.springframework.org/svn/spring-samples/petclinic/

 

2.下载maven

   1)我的是maven3.0.1

   2)在系统变量的path中添加maven的bin文件夹

 

3. 下载和编译

   1)按petclinic根目录下的readme.txt进行操作

       关键步骤是:从命令行里进入petclinic文件夹,执行mvn clean package

   2)这时,jar的下载开始了。如果一切顺利,下载和编译便可以完成,并在target文件夹里生成petclinic.war。  

      

       处在教育网里,这让事情变得复杂。需要给maven进行一些配置:

   3)网络代理

       maven的配置文件是conf/settings.xml。该文件里的proxy是配置网络代理的,我总共使用了两个代理。  <active>是代理的启用或关闭属性。我轮流着使用这两个代理,最后总算把所有需要的jar都下了(一个代理能下载一些jar,而不能下另一些,无语)。

  (1)google engine的代理(具体怎么搭建google engine代理不赘述了,还挺麻烦的,有空再贴)

  

<proxy>
      <id>aproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username></username>
      <password></password>
      <host>127.0.0.1</host>
      <port>8000</port>
      <nonProxyHosts>www.google.com</nonProxyHosts>
    </proxy>

   (2)搜狗浏览器的代理(安装sougou浏览器)

     

<proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username></username>
      <password></password>
      <host>127.0.0.1</host>
      <port>8081</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>

   4)供下载的mirror(可选)

     jar是默认从http://repo1.maven.org/maven2/下载的。另外也可在settings.xml里添加mirror。

 <mirrors>
  <mirror>
      <id>mirror2</id>
      <mirrorOf>repository2</mirrorOf>
      <name>repo2</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>
    
    <mirror>
      <id>uk.maven.org</id>
      <mirrorOf>repositoryuk</mirrorOf>
      <name>repouk</name>
      <url>http://uk.maven.org/maven2</url>
    </mirror>
  </mirrors>

      当一切下载工作完成后,便开始编译,最后生成petclinic.war。

 

4. 部署到Tomcat7.0

1)下载Tomcat 7

2)按Tomcat的readme.txt操作

3)把petclinic.war拷贝到Tomcat的webapps文件夹下

4)执行Tomcat的bin/startup.bat,以开启Tomcat。

 

5. 查看

 打开浏览器,输入 http://localhost:8080/petclinic,便可以看到petclinic首页。

 

6. Bug

   1) Bug描述

    在petclinic首页点击 Find owner,进去后点击Add owner,会报错:

** Root cause is: /WEB-INF/jsp/owners/form.jsp(4,1) "${pet.new}" contains invalid expression(s):
 javax.el.ELException: [new] is not a valid Java identifier... 

   2) 原因

      网上有人回答说 Whether Tomcat 7 EL parser is more strict or not, the class has an isNew() method, using ${owner.new} is legal.

   3)解决

 

        于是,我把/jsp/owners/form.jsp和/jsp/pets/form.jsp中所有的 &{pet.new} 替换成 &{pet.isNew()},done!

 

   

posted @ 2010-12-03 18:01  mufeng100  阅读(1898)  评论(0)    收藏  举报