在myEclipse中开发时,我们都是直接在那里面启动tomcat的,当然myEclipse中要配置下tomcat的了.
如果现在我要把网站交给客户使用了,总不能也叫客户装个myEclipse,在里面启动tomcat的吧?
想自己写个,但又不知从何从手,相信这肯定有人写过了,能贴出来共享下吗?先谢过了.
实现的的要求尽可能的全面点吧,不仅含有启动按钮,最好也要停止按钮. 注:绿色版的tomcat中有批处理启动tomcat的,但不好用,这个先不考虑,只要java代码写的.
如果现在我要把网站交给客户使用了,总不能也叫客户装个myEclipse,在里面启动tomcat的吧?
想自己写个,但又不知从何从手,相信这肯定有人写过了,能贴出来共享下吗?先谢过了.
实现的的要求尽可能的全面点吧,不仅含有启动按钮,最好也要停止按钮. 注:绿色版的tomcat中有批处理启动tomcat的,但不好用,这个先不考虑,只要java代码写的.
解决方案 »
- ognl 调用带参的静态方法不能实现调用!求大虾指教。
- java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
- 在web.xml里配置errorpage,指定exception为java.lang.Exception,为啥有些exception还是不能显示正确的errorpage?
- javascript请求参数传到struts2 的action中的中文乱码问题
- RMI编译与运行……第一次发贴,请各位大牛多多关照
- ajax & java 一个根据 程序 进程 局部刷新网页的问题
- 显示照片的问题
- 这东西怎么做?/
- JBuilder调试Servlet时session绑不上去?碰到过的解答一下
- SSH框架入门书推荐
- 使用jsf会话的问题
- portlet间如何共享数据库链接?
你的意思是tomcat一定要在Eclipse中启动?真服了你了
交给客户后,配下服务自动启动,这样每次服务器重启TomCat可以自动启动
安装版的配置很简单 绿色的复杂点 网上搜搜到处都是
停止:bin\shutdown.bat
也可以用bin\catalina.bat加相应参数
我是要代码启动tomcat的,不是要安装版的自带的启动选项!
如果你布属的tomcat是安装版的,你路过就行了.
如此看来,估计没几个人用绿色版的tomcat的了.(绿色版的有个批处理可以启动tomcat,这个我自然也知道)
在单独的进程中执行指定的字符串命令。
停止,启动tomcat写到bat文件中写一个java程序,用exec(String command) 方法调用下就行了
实话说吧,你说的这几个我都实现了并且都集成成java界面去了,调用这些批处理文件来执行启动停止tomcat的.
但是发现有点问题(问题倒不是启动不了,而是发现装了花生壳后,远程的不能用!而直接在myEclipse启动的居然可以用,这就好奇了,myEclipse是如何启动的呢?),想找找看有直接用java代码来启动的(类似myEclipse中启动的,而不调用那些批处理文件),看了这些回复,看来没真没什么人写过了....
/**
* 执行注册、卸载、启动、停止服务相关操作
*
*/
public void executeOperate(int operateType)
{
String outText = null;
ServerOperate serverOperate = new ServerOperate();
String path = serverOperate.getTomcatPath();
String fileName = ""; switch (operateType)
{
case 1:
fileName = "regServer.bat";
break;
case 2:
fileName = "uninstallServer.bat";
break;
case 3:
fileName = "startServer.bat";
break;
case 4:
fileName = "stopServer.bat";
break;
default:
fileName = "regServer.bat";
} path = "cmd /c " + path + "\\bin\\" + fileName + " " + path + "\\bin"; String command = path; try
{
Process process = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); while ((outText = bufferedReader.readLine()) != null)
{
System.out.println(outText); //输出测试
}
}
catch (IOException ioError)
{
ioError.printStackTrace();
}
}以上是我写的调用绿色版的批处理来启动,停止,注册,tomcat的,在本机是没问题的了,网站也能访问的,但远程访问时无效,很是无语,后来在MyEclipse中启动tomcat,远程居然能访问!这个实在找不出那里出问题了,就想换个方法启动而已.安装版的基本不考虑,这个原因不用说了.
起先怀疑是tomcat中的server.xml有问题,导致本机行,远程不行,如果是这样的话,那在myEclipse启动也应该是本机行远程不行啊.(我使用的是同一个tomcat的)
太奇怪了,第一次见到这么奇怪的问题,于是只能怀疑使用批处理启动的有漏洞的了(这里不能简单理解为错误,因为本地确实可以访问)。
(晚上用高版本tomcat的再试验下,想要的这个代码估计没什么人写出过了)
参考:
http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Start%20an%20Existing%20Applicationgood luck1
这一两天基本在玩,也没搞什么,今晚也不知道怎么的突然来了灵感,终于把这个问题解决了,没想到是系统的防火墙搞的鬼,还有一个是域名的80端口搞的鬼.(现在应该免费域名也要备录在信产部去了,没备录的,80端口不能用,其它的暂时好像可以,想想这个就不爽,但也只能服从.),防火墙搞的鬼,则导致本机可以访问,局域网或远程不行.
最后,有个好奇的地方还是说下与各位分享吧,我在myEclipse中启动的tomcat,居然可以穿透防火墙!(系统的),正因为这个原因,导致我一直没去关注是防火墙的问题.(从这次的经历中,要学了不少经验,有时,思想不能太保守了,更不能想当然),经过这次离奇的事件后,信心更足了.(自我安慰下吧,小二,结帐!)