Jetty服务部署调试使用

转载 2015年07月08日 19:39:27
ifeBa文章如未注明转载均为原创.
转载请注明: 转载自Life吧 本文永久链接地址:http://www.lifeba.org/arch/jetty_services_instal.html

Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

一、部署Jetty服务

1、内嵌Jetty方式

这里我们下载Jetty8版本,将下载的jar包(只需要这个all的jar包)加入到工程引用中。
http://repo1.maven.org/maven2/org/eclipse/jetty/aggregate/jetty-all/8.1.0.v20120127/jetty-all-8.1.0.v20120127.jar

在我们的App的Main方法中 加入下面代码

Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
context.addServlet(new ServletHolder(new BpServlet()), "/GetBPCategories");
server.start();
server.join();

BpServlet类

public class BpServlet extends HttpServlet{
private static final long serialVersionUID = 1L;

public BpServlet() {
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//接受参数
String key = request.getParameter("keywords");
//业务逻辑
//
//返回内容
response.setCharacterEncoding("utf-8");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
out.print("Welcome to Lifeba");
out.flush();
out.close();
}
}

上面的方法绑定了Jetty的端口为8080,并且设置了/GetBPCategories的路径对应的为BpServlet的Servlet类。
启动程序后,可以通过http://localhost:8080/GetBPCategories 来访问。

2、独立服务部署

下载 Jetty6的版本,http://dist.codehaus.org/jetty/ jetty-6.1.26版本并解压。我们只需要将我们的web app 放置到 jetty/webapps下即可。

windows

a、简单启动

java -jar start.jar etc/jetty.xml

start.jar 后面内容是传递给start.jar的参数,多个参数用空格隔开。
参数内容可以有以下几种:
--help    查看帮助信息
--stop    停止服务,下节中会讲到
--version  查看当前jetty版本信息
其他:作为Jetty服务配置文件

我们看到上条命令指定参数内容为etc/jetty.xml,它实际指向一个服务配置文件,该文件是用来设置jetty服务启动的系统配置信息。比如监听端口,发布某个目录下面的web应用,jndi的配置等等。当然服务配置文件可以是多个,比如:

java -jar start.jar etc/jetty.xml etc/jetty-plus.xml

 

访问 http://localhost:8080/ 看到 Welcome to Jetty 6。
要停止的话执行直接关掉CMD窗口或CTRL+C即可。

b、监听方式启动和关闭

启动

java -DSTOP.PORT=8009 -DSTOP.KEY=secret -jar start.jar

关闭

java -DSTOP.PORT=8009 -DSTOP.KEY=secret -jar start.jar --stop

jetty启动后会在本地监听你指定的端口8009,并将在验证下次关闭命令的密码secret

c、Win32Wrapper工具启动服务

1)控制台方式:bin/Jetty-Service.exe

2)Window服务的方式

注册Windows服务

bin/Jetty-Service.exe --install jetty-service.conf

wrapper  | Jetty6-Service installed.

安装成服务后,可以使用Window服务的方式运行jetty程序。

启动服务

Jetty-Service.exe --start jetty-service.conf

停止服务

Jetty-Service.exe --stop jetty-service.conf

注销服务

Jetty-Service.exe --remove jetty-service.conf

linux

启动 关不 重启 挂住 服务

bin/jetty.sh start stop restart supervise

检查配置

bin/jetty.sh check

二、调试Jetty的程序

Eclipse中启动Jetty

a、安装Eclipse Jetty插件

安装Jetty插件,通过Eclipse插件方式在线安装,参考jetty-and-eclipse-integration  文章。

插件地址:http://run-jetty-run.googlecode.com/svn/trunk/updatesite

b、Eclipse中的Run/Debug Configurations中定义一个Jetty Webapp。

启动的时候报了一个 java.lang.ExceptionInInitializerError异常。
com.sun.org.apache.commons.logging.LogConfigurationException java.lang.NullPointerException

在jsf-impl.jar包下,JSF就是原先sun推荐的web开发架构,用这个jar包时,经常会抛异常。这里将将JAVAEE5的库 换为 将JAVAEE6,再次启动就正常了。

c、如果你使用的是MyEclipse,可以使用下面的配置来部署到jetty中。

配置好后和部署到tomcat的方法一样。

参考

http://loianegroner.com/2011/07/jetty-and-eclipse-integration/

Jetty实战之 嵌入式Jetty运行Servlet

内嵌Jetty教程

http://jimichan.iteye.com/blog/601156

Myeclipse中maven工程使用jetty插件启动jetty服务器调试

准备工作: a. 在pom.xml中配置jetty插件: Xml代码   plugins>      plugin>          groupId>org.mortbay...
  • tianyazaiheruan
  • tianyazaiheruan
  • 2015年11月02日 10:25
  • 4532

jetty 搭建部署服务详解

一、用jetty搭建项目 (1)下载9.2.21版本jetty安装包jetty-9.2.21.zip,解压缩到目录/home/apps/jetty (2)新建项目路径:/home/apps/bos...
  • zhongzh86
  • zhongzh86
  • 2017年04月11日 16:04
  • 611

Android移动服务器I-Jetty——Web端的配置

今天分享下I-Jetty的文本端的配置。 由于I-Jetty不是很好的支持jsp,但是可以用servlet,html,js,jquery,ajax来实现web端的界面和后台操作。 如何把一个自己写...
  • DragonRyo
  • DragonRyo
  • 2014年04月01日 22:15
  • 1891

Jetty服务器的安装配置详解

Jetty是一个开源的Servlet容器和应用服务器,它极度轻量级、高便携性、功能强大、灵活和扩展性好,而且支持各种技术如SPDY、WebSocket、OSGi、JMX、JNDI和JAAS。Jetty...
  • baochanghong
  • baochanghong
  • 2016年10月08日 17:30
  • 2283

使用eclipse调试代码-使用maven jetty与远程调试

1.使用maven jetty          (1)右键->debug as ->debug configurations          (2)在maven build下新建一个configu...
  • cpf2016
  • cpf2016
  • 2015年05月14日 17:08
  • 394

用jetty插件运行maven项目 在eclipse中如何debug 调试程序

最近在学习用maven 管理web项目,发现在maven中调试程序和普通的程序调试略有区别,需要做一下几个设置,才能正确跟踪程序断点。                工作环境: eclipse 4....
  • wuyumingbao
  • wuyumingbao
  • 2013年12月01日 15:35
  • 1097

Jetty开发指导:调试

如果你有一个web应用部署到Jetty,你能容易地从远程调试它。但首先你必须使用附加的参数启动远程JVM,然后在Eclipse中启动一个远程调试连接。这很容易就能做到。 注意:下面的例子假定你正在部...
  • liuy_98_1001
  • liuy_98_1001
  • 2014年07月24日 15:35
  • 2533

Jetty应用服务器的安装详解

Jetty应用服务器的安装详解作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszsJetty是一个开源的Servlet容器和应用服务器,它极度...
  • chszs
  • chszs
  • 2015年09月02日 23:41
  • 10684

maven工程开启jetty调试

a. 在pom.xml中配置jetty插件:  Xml代码   plugins>       plugin>           groupId>org.mortbay.j...
  • u010440155
  • u010440155
  • 2016年12月16日 10:15
  • 2148

Jersey+jetty 搭建高并RestFull 接口服务

选择Jersey+jetty原因 之前做的项目大部分是PC的项目,没有做的完全的前后端分离,后端使用的是MVC框架 像SpringMVC、Sturts2。最近开发移动webapp项目,因为对Spri...
  • liuxiao723846
  • liuxiao723846
  • 2016年06月07日 15:54
  • 2244
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jetty服务部署调试使用
举报原因:
原因补充:

(最多只允许输入30个字)