Grails项目在演示时使用jetty作为嵌入式web服务器

grails1.1自带jetty作为web服务器,供开发时调试使用。但是开发完毕后,只能将工程打包,不能直接运行。

由于演示需要,将jetty嵌入到项目中,并且数据库可以采用hsql(由于grails项目打包后自带hsql.jar,可不用再添加)。这样只需在安装jdk的机器上都可演示程序。

嵌入jetty所需的jar:
[img]http://dl.iteye.com/upload/attachment/157587/55d06e5d-1bb6-38a2-9862-fb5eaf47e9d6.jpg[/img]

单独编写一个java类,参考了网上的资料http://hi.baidu.com/oyrh/blog/item/da0bd61612c0894f21a4e9bd.html

import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
import org.mortbay.thread.BoundedThreadPool;

/**
* @author Tony Shen
*
*/
public class ServerStart {
public static void main(String[] args) throws Exception {

Server server = new Server();
BoundedThreadPool threadPool = new BoundedThreadPool();
//设置线程池
threadPool.setMaxThreads(100);
server.setThreadPool(threadPool);
//设置连接参数
Connector connector = new SelectChannelConnector();
//设置监听端口
connector.setPort(8080);
server.setConnectors(new Connector[] { connector });
WebAppContext context = new WebAppContext();
//访问项目地址
context.setContextPath("/TheSales");
//启动的war包
context.setWar("TheSales.war");
server.addHandler(context);
server.setStopAtShutdown(true);
server.setSendServerVersion(true);

server.start();
server.join();

}
}


然后只需将所需的TheSales.war放在主目录下即可

最后编写bat脚本,如下:
title TheSales Demo

set CLASSPATH=%CLASSPATH%\conf
set CLASSPATH=%CLASSPATH%;.\lib\jetty-6.1.0.jar
set CLASSPATH=%CLASSPATH%;.\lib\jetty-util-6.1.0.jar
set CLASSPATH=%CLASSPATH%;.\lib\servlet-api-2.5.jar

javac ServerStart.java
java -Xmx1152m -Xms512m ServerStart

pause

运行bat文件,出现如下的界面。
在浏览器下输入:http://localhost:8080/TheSales
程序的界面即可显示:)

[img]http://dl.iteye.com/upload/attachment/157589/8561e156-becf-3224-b4c2-79ec2305377a.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值