Spring MVC+Ant+Tomcat+Eclipse最简单的demo
第一步是Java的Web环境搭建,下载Eclipse(或者更好的但收费的IDE-IntelliJ Idea,和Resharper一家公司出的),下载Tomcat,下载JDK,下载Spring,注意安装Tomcat的时候配置一下管理员账号和密码(如Tomcat/s3cret),安装好了Tomcat以后应该可以在浏览器访问这个地址:http://localhost:8080/(或者其它端口如9090你可以自己制定),点击里面的manager链接可以进入Tomcat管理manager页面 http://localhost:8080/manager/html:Eclilpse相关设置
首先是环境变量设置,然后要把tools.jar添加到Eclipse的Ant运行时里面去:window->preferences->ant-> runtime, Global entries, add: external jars: jdk7的安装路径/lib/tools.jar。
建立一个Spring MVC的程序+Ant+Tomcat
在Eclipse的java环境下(非JavaEE下)建立一个空的java项目(无需选择dynamic web project),名字叫springapp,然后加个目录叫war(便于部署),建立了就是这样的:
然后在整个项目下添加build.xml(自动用Ant编译和部署用的,类似makefile,这玩意爽),build.xml内容如下:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
46:
47:
48:
49:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
112:
113:
114:
115:
119:
120:
121:
122:
126:
127:
128:
129:
133:
134:
135:
136:
139:
140:
141:
142:
143:
在整个项目下添加build.properties(这个是给build.xml配置环境变量的。直接拿过来运行的朋友,这里面的内容记得需要修改为你本地的路径哦!!)
1: # Ant properties for building the springapp
2:
3: appserver.home=C:/Program Files/Apache Software Foundation/Tomcat 6.0
4: # for Tomcat 5 use $appserver.home}/server/lib
5: # for Tomcat 6 use $appserver.home}/lib
6: appserver.lib=${appserver.home}/lib
7:
8: deploy.path=${appserver.home}/webapps
9:
10: tomcat.manager.url=http://localhost:8080/manager/html
11: tomcat.manager.username=tomcat
12: tomcat.manager.password=s3cret
然后添加一个controller,在src下添加一个java文件,输入package为:net.spring.controller。这个controller的意思我想懂得mvc的人懂的。
1: package net.spring.controller;
2:
3: import org.springframework.stereotype.Controller;
4: import org.springframework.web.bind.annotation.RequestMapping;
5: import org.springframework.web.servlet.ModelAndView;
6:
7: @Controller
8: public class HelloWorldController {
9:
10: @RequestMapping("/hello")
11: public ModelAndView helloWorld() {
12:
13: String message = "Hello World, Spring 3.1.1 Release!";
14: System.out.println(message);
15: return new ModelAndView("hello", "message", message);
16: }
17:
18: }
接着工作在war目录下。首先加个index.jsp
1:
2: Example :: Spring Application
3:
4: Example - Spring Application
5: This is my test.
6: Say Hello
7:
8:
然后加个目录WEB-INF。里面加一个文件web.xml(这个文件很重要,是web项目最重要的配置文件)(有关Servlet,这个是java web的核心概念。)
1:
2:
3:
8:
9: Spring3MVC
10:
11: springapp
12: org.springframework.web.servlet.DispatcherServlet
13: 1
14:
15:
16:
17: springapp
18: *.html
19:
20:
21:
22:
23: index.jsp
24:
25:
26:
27:
加一个文件srpingapp-servlet.xml
1:
2:
10:
11:
12:
13:
14:
15:
16:
18:
20:
21:
22:
23:
在WEB-INF加两个目录:jsp和lib。首先复制引用的jar包,例如Spring的jar,然后在lib目录上粘贴,要引用这些jar:
然后右键选择项目属性,Build path… Configure build path. Libraries – > add jars…把这些lib下面的jar加入引用。
说一下目录结构:通常,src存放Java源文件,classes存放编译后的class文件,lib存放编译和运行用到的所有jar文件,web存放JSP等web文件,dist存放打包后的jar文件,doc存放API文档。
在jsp目录下添加include.jsp:
1:
2:
3:
添加hello.jsp,注意里面用了Model里面的:message
1:
2:
3:
4: Hello :: Spring Application
5:
6: Hello - Spring Application
7: Greetings.
8: Message:
9:
10:
Ant编译和自动部署到Tomcat
为了让Eclipse用我们的Ant编译和build.xml文件,需要设置一下Eclipse:项目属性,Builders,把java builder去掉勾,然后New…一个,选择Ant builder….,然后选择build.xml,如图:
确定了以后,点击菜单 project –> Build all … 自动Ant编译:
1: Buildfile: C:\Users\GatesBill\workspace\springapp\build.xml
2:
3: usage:
4: springapp build file
5: -----------------------------------
6: Available targets are:
7: build --> Build the application
8: deploy --> Deploy application as directory
9: deploywar --> Deploy application as a WAR file
10: install --> Install application in Tomcat
11: reload --> Reload application in Tomcat
12: start --> Start Tomcat application
13: stop --> Stop Tomcat application
14: list --> List Tomcat applications
15: BUILD SUCCESSFUL
16: Total time: 989 milliseconds
看了一下源码,果然已经编译好了:
但是没有自动部署到Tomcat的webapps里面,我们需要运行Ant deploy:在项目属性,Builders,选择刚才我们新建的那个Ant编译,选择edit,然后里面Argument的地方输入deploy,然后Apply,OK。再次编译,就自动部署Tomcat了:
1: Buildfile: C:\Users\GatesBill\workspace\springapp\build.xml
2:
3: build:
4: Compiling 1 source file to C:\Users\GatesBill\workspace\springapp\war\WEB-INF\classes
5: warning: bootstrap class path not set in conjunction with -source 1.5
6: 1 warning
7:
8: deploy:
9: Copying 11 files to C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\springapp
10: BUILD SUCCESSFUL
11: Total time: 4 seconds
也可以用命令行的方式执行Ant编译(这样我们可以另外写一个deploy的bat脚本,非常方便),不过要首先到computer – properties – advanced - 环境变量,添加下列环境变量:
ANT_HOME=<Ant解压目录,通常在Eclipse的plugin目录下>,Path=…;%ANT_HOME%\bin
然后打开command(如果在win7下,可能需要提升administration 权限),转到springapp目录为当前目录,然后执行ant deploy 即可,如下图:
到Tomcat的目录下webapps一看,果然有了springapp,然后在浏览器打开Tomcat的manager:http://localhost:8080/manager/html,点击我们的网站springapp,有了:
点击say hello,链接到:http://localhost:8080/springapp/hello.html
上面这个message是从controller传给model的。
Build Error: taskdef class org.apache.catalina.ant.InstallTask cannot be found
如果得到这个错误,一般是因为安装的Tomcat 7而不是Tomcat 6.0,因为在Tomcat 7.0下面要修改下build.xml:
1
2
3 要改成:
1
2
3
总结
用Ant编译和部署到Tomcat还是非常爽的,过程很流畅。喜欢这种感觉。
页:
[1]