【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
本文介绍了使用 eclipse+maven+jetty+eweb4j来打造一个非常高效率的Java Web开发环境。一旦搭建起来,无需重复的mvn install命令,无需重复的重启服务器,你所需要做的仅仅是编辑源码,刷新浏览器就可以看到最新的代码变化。有了Maven,你的jar依赖再也不是问题,但是单纯maven,如果修改源码,总是需要进行install,实在是有够让人讨厌,加了jetty插件让你远离这个烦恼,单纯的 servlet开发,需要你继承一个类,配置xml 路由,单元测试麻烦,访问数据库更加麻烦,加了 eweb4j,对这一切 你将感到非常轻松,无需继承父类,无需实现接口就可以享受SSH的MVC、ORM、IOC,朋友,来试试吧?
=================== 2013-03-12 11:08 修改====================
解决windows 下 jetty的静态资源锁定问题:
- 先找到 .m2/maven/repository/org/eclipse/jetty/jetty-webapp/{版本号}/ 里面的jar包
- 打开jar包之后找到那个 org/jetty/webapp/webdefault.xml 文件
- 拷贝到maven项目的src/main/resources目录
- 编辑该文件修改useFileMappedBuffer的配置,修改true为false,保存
- 编辑pom的jetty plugin的配置:
保存<!-- 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>
- 关掉jetty,重新 mvn jetty:run 即可
=======================================================================
1、要求
a) 装好 maven 插件的 Eclipse
b) Cmd命令行可以执行mvn命令(可选)
c) 网络通畅
2、搭建步骤
a) 从 Github里面下载最新的EWeb4J项目并本地构建
i. 打开 https://github.com/laiweiwei/eweb4j-framework
ii. 点击 ZIP 下载
iii. 下载之后解压到某个目录下
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秒钟间隔时间,可以调整)就能看到变化。
3、进阶
通过上面的介绍我们看到使用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模块进行数据库访问,以及配置其他功能特性了。
记住!以后开发完成后,要记得把配置文件同步到相应的目录里面哦 :)
来源:oschina
链接:https://my.oschina.net/u/146149/blog/97943