=================== 2013-03-12 11:08 修改====================
解决windows 下 jetty的静态资源锁定问题:
java
<!-- jetty plugin configuration --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <webAppConfig> <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor> </webAppConfig> </configuration> </plugin>保存
======================================================================= git
a) 装好 maven 插件的 Eclipse github
b) Cmd命令行能够执行mvn命令(可选) web
c) 网络通畅 数据库
二、搭建步骤 windows
a) 从 Github里面下载最新的EWeb4J项目并本地构建 浏览器
i. 打开 https://github.com/laiweiwei/eweb4j-framework 服务器
ii. 点击 ZIP 下载 网络
iii. 下载以后解压到某个目录下 mvc
iv. 打开cmd命令行,到该目录执行mvn install -Dmaven.test.skip=true
v. 等待构建成功
b) 打开eclipse,新建一个Maven jee5 项目
c) 编辑pom.xml,添加eweb4j依赖
d) 编辑pom.xml,添加jetty插件
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.8.v20121106</version> <configuration> <stopKey>stop</stopKey> <stopPort>5599</stopPort> <webAppConfig> <contextPath>/</contextPath> </webAppConfig> <scanIntervalSeconds>10</scanIntervalSeconds> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8090</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin>
e) 运行jetty server
这里能够用eclipse来运行,也能够在cmd下运行,笔者比较喜欢在cmd下运行
mvn jetty:run
f) 打开浏览器测试访问index.jsp
这说明服务器启动成功了,也能够访问index.jsp了,接下来开始集成eweb4j框架
注意,如下过程无需重启服务器!也无需执行maven的任何命令,你所要作的,就是编辑源码 :)
g) 编辑web.xml,添加EWeb4J框架Filter类
<!-- eweb4j --> <filter> <filter-name>EWebFilter</filter-name> <filter-class>org.eweb4j.mvc.EWebFilter</filter-class> <init-param> <param-name>StartFileName</param-name> <param-value>start.xml</param-value> </init-param> <init-param> <param-name>CheckStartFileExist</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>ConfigBasePath</param-name> <param-value>${RootPath}/WEB-INF/classes/</param-value> </init-param> <init-param> <param-name>BaseURLKey</param-name> <param-value>BaseURL</param-value> </init-param> <init-param> <param-name>ReqParamMapKey</param-name> <param-value>ReqParamMap</param-value> </init-param> <init-param> <param-name>ForwardBasePath</param-name> <param-value>/</param-value> </init-param> </filter> <filter-mapping> <filter-name>EWebFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- eweb4j -->
注意新增了CheckStartFileExist参数,参数值设置为false表示不检查框架启动配置文件是否存在,这样的话若是不存在start.xml,框架也能够启动而且使用默认的配置。
保存以后查看控制台信息,会发现这个:
表示服务器扫描到了新的变化,而且已经加载了EWeb4JFilter类了。接下来咱们来编写一个HTTP控制器类。
h) 建立一个UserControl控制器类
i) 打开浏览器测试访问该控制器类 /user?name=eweb4j
能够看到,整个过程不须要重启服务器,也不须要执行maven的install命令,就能访问最新的代码了,仍是比较方便的
你能够继续修改源码,而后直接访问浏览器就能看到变化,若是不能立刻看到变化,稍等一下子(根据插件参数配置 ,如今是 10秒钟间隔时间,能够调整)就能看到变化。
三、进阶
经过上面的介绍咱们看到使用eclipse+jetty+maven+eweb4j开发java的web程序的效率仍是比较高的。可是因为jetty的特殊性,致使eweb4j的启动配置文件读取路径跟正常状况稍微有些不一样。
通常状况下,${RootPath}是运行期的根目录,例如 target/xxxx,可是在这里,没有进行maven的install,所以target目录下也就没有生成项目目录,这时候,这个${RootPath}其实指向的是源码项目根目录
所以呢,咱们要建立的start.xml文件须要在源码也有一份,之后发布项目以后同步到真正的WEB-INF\classes目录下。
为了方便框架在找不到start.xml文件的状况下能自动建立一份样本,咱们须要修改web.xml的启动参数
而后,在源码项目里面建立WEB-INF/classes目录
接下来访问浏览器,记住,第一次的时候框架会报一个异常,再刷新下便可正常访问。而后会发现WEB-INF/classes目录下会生成一个start.xml文件
有了这个start.xml,就能够开启ORM模块进行数据库访问,以及配置其余功能特性了。
记住!之后开发完成后,要记得把配置文件同步到相应的目录里面哦 :)