外置容器
1.下载:
wget http://dist.codehaus.org/jetty/jetty-6.1.14/jetty-6.1.14.zip
unzip jetty-6.1.14.zip
2.配置JETTY_HOME
vim ~/.bashrc
JETTY_HOME=/home/inter12/installs/dev/jetty
JETTY_CONF=$JETTY_HOME/etc
JETTY_LOGS=$JETTY_HOME/logs
export JETTY_HOME
export JETTY_CONF
export JETTY_LOGS
3.就可以启动了
cd $JETTY_HOME/bin
sh jetty.sh start //启动
sh jetty.sh start //查看是否正常启动
其他常见的命令有:start|stop|run|restart|check|supervise
默认端口是8080,具体配置后面再说。
通过浏览器来看下:http://127.0.0.1:8080/ 就可以看到 jetty默认的欢迎页面了! 很简单,类似于 tomcat
首页中提供了一些demo和一些常用说明,例如如何配置JNDI等信息!
4.几个重要的目录
$JETTY_HOME/etc 配置文件 ---- tomcat 下的conf目录
4.1 /etc/jetty.xml 这个为比较重要的配置文件。具体打开文件我们可以看:
1)连接器 对外暴露的服务,其中包含了端口,最大等待时间等信息。提供了两种方式,默认是NIO的处理,若是不行的话,就去除下面的注释,启用性能稍微差点的BIO,目录下存在一个jetty-bio.xml目录,只需要使用这个即可!
<Call name="addConnector">
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
2)具体后端的处理类,connector负责通信调度,这个负责处理!
<Set name="handler">
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
3)配置上下文的路径,就是我们下面将会提到了 contexts目录的位置!
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.ContextDeployer">
<Set name="contexts"><Ref id="Contexts"/></Set>
<Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
4)默认配置的webapps 目录, 若是想自己部署的话,需要修改这个值
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.WebAppDeployer">
<Set name="contexts"><Ref id="Contexts"/></Set>
<Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set>
5)请求日志的存放地址
<Ref id="RequestLog">
<Set name="requestLog">
上面就是jetty.xml中几个重要的配置了!
-----------------------------------------------------------------------------------------------------------------------
4.2 etc/webdefault.xml 这个就是web.xml的默认实现 ! 也就是说若过你应用中没有web.xml的话,也可以启动! 前提是使用 bin/jetty.sh start
4.3 其他杂类 jetty-jaas.xml jetty-jmx.xml jetty-plus.xml jetty-ssl.xml jetty-ajp.xml 这些配置文件我想看名字大家都应该知道了!
-----------------------------------------------------------------------------------------------------------------------
$JETTY_HOME/webapps 部署目录 ---- tomcat 下的webapps
$JETTY_HOME/lib 包存放路径 ---- tomcat 下的lib目录
$JETTY_HOME/bin 配置脚本 最重要的就是jetty.sh 这个脚本了, start|stop|run|restart|check|supervise
$JETTY_HOME/contexts webapp的上下文路径,这里可以将我们需要部署的WAR放到非 webapps目录下! 如果非要对应的话就是tomcat/service.xml中的<context/>这个配置项
$JETTY_HOME/logs 这个目录我想不说大家也应该知道
$JETTY_HOME/extras 因为 jetty是嵌入式的容器,所以能很容易的和其他框架或是容器结合(spring,jboss等!),具体就可看这个目录下的信息!
一般来说,具体到现实的应用中,我们不会去修改 jetty默认的一些配置项,都是通过替换代替的方式来完成配置文件的更换,具体就是4.1所提到的几个配置文件!
-----------------------------------------------------------------------------------------------------------------------
内置容器
上面说的都是怎么利用JETTY作为WEB容器,其实我们还可以跟简单的方式将应用本身作为WEB容器,只需要继承JETTY的CORE包即可! 下面就用代码来实例下吧!
1.mvn archetype:generate 创建一个项目 选择231这一个 struts项目
2.在pom.xml中添加包依赖
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1H.10</version>
</dependency>
3.mvn eclipse:eclipse -DdownloadSources=true 刷新包 若是你的网速不行的话那么就把后面的 -DdownloadSources去掉,不要下载源码!
4.那就敲代码吧
package com.inter12.xzm.jetty;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder;
public class MineJettyServer {
public static void main(String[] args) throws Exception {
MineJettyServer mineJettyServer = new MineJettyServer();
mineJettyServer.start();
}
private void start() throws Exception {
// 1.启动一个SERVER 并指定端口
Server server = new Server(8080);
// 2.设置应用的跟路径为 / 你也可以设置成自己需要的应用名字。例如我这个的应用是/jTest
// Context context = new Context(server, "/jTest", Context.SESSIONS);
Context context = new Context(server, "/", Context.SESSIONS);
// 3.添加servlet. OKServlet就是我们具体处理业务的类!
context.addServlet(new ServletHolder(new OKServlet()), "/ok.jsp");
// 4.启动。收工,这样就搞定了内置 servlet容器!
server.start();
}
class OKServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.write("success,welcome to ok.jsp!");
writer.flush();
writer.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("do post method enter!");
}
}
}
访问地址:http://127.0.0.1:8080/ok.jsp 这样就可以看到输出的结果了!
若是根路径设置为 /jTest的话,路径为:http://127.0.0.1:8080/jTest/ok.jsp
好了,这样就完成了!
tips:
1.恰好最近也在看 lucene的源码,跟 jetty一对比的话,jetty的代码写的有点不优雅了,也可以说比较的粗糙,特别是在注释上!
2.也下了最新版本8.0版本,好像是迁移到 org.eclipse 下了,包结构和一些语法变的挺大!
3.jetty本来在今年6月就想折腾下,谁知道拖到现在!
分享到:
相关推荐
本篇文章将详细讲解如何离线安装Eclipse Jetty插件,并介绍其基本使用方法。 首先,离线安装Eclipse Jetty插件的过程相对简单。你需要先下载一个包含插件的压缩包,如"jetty-plugin"。这个压缩包通常包含了所有必要...
在Jetty中配置反向代理,我们需要以下步骤: 1. 添加依赖:确保你的项目已经包含了Jetty的proxy模块。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.eclipse.jetty <artifactId>...
### Jetty的安装与使用 #### 一、Jetty简介 Jetty 是一款开源的、高性能的、基于Java语言的Web服务器,它被广泛应用于开发和生产环境中。Jetty不仅体积小巧,而且功能强大,支持多种协议(如HTTP/1.1、HTTP/2、...
#### 三、Jetty插件的基本使用方法 ##### 3.1 创建Web项目 - 在Eclipse中创建一个新的Web项目,可以命名为“JettyTest”。 ##### 3.2 修改index.jsp文件 - 在项目中自动生成的index.jsp文件内,标签中加入以下代码...
本文主要介绍Jetty的启动配置文件——`jetty.xml`的基本结构与关键配置项。 #### 二、文件格式与结构 `jetty.xml`遵循XML文档的标准格式,包含声明、DTD定义、注释以及具体的配置节点等部分。 ##### 2.1 XML文档...
- 除了基本的启动和停止Jetty服务器,插件还提供了配置端口、上下文路径、热部署等高级功能。 - 通过"说明.txt"文件,你可以获取更多关于插件使用的具体指导和注意事项。 总的来说,"Jetty For Eclipse 插件快速...
- Jetty插件(例如:Jetty Integration for WTP)可以通过Eclipse Marketplace安装,该插件允许用户直接在项目中集成Jetty服务器。 2. **创建Jetty项目** - 首先,你需要在Eclipse中创建一个新的Dynamic Web ...
通过本文的介绍,我们了解了Jetty的下载、安装、基本配置以及如何与Maven集成的方法。Jetty作为一款轻量级的Servlet容器,非常适合用于开发和测试环境。同时,通过与Maven的结合,可以更加方便地管理和部署Java Web...
在Eclipse中配置Jetty的第一步是安装Jetty插件。你可以通过Eclipse的内置软件更新站点或Marketplace来搜索并安装Jetty插件,例如“Jetty RunWar”或“Jetty Integration”。安装完成后,重启Eclipse。 2. **创建或...
安装Jetty的过程相对简单,基本步骤如下: 1. 解压缩`jetty-distribution-9.2.26.v20180806.zip`到您选择的目录。 2. 打开终端,导航到`bin`目录下。 3. 运行对应的启动脚本(例如,对于Unix-like系统,运行`./...
4. 安装Jetty插件后,可以在Eclipse中直接启动Jetty服务器,调试和运行Web应用。 这个开发环境的搭建使开发者能够在Eclipse中无缝集成Maven的构建管理和Jetty的快速部署与调试,大大提高了开发效率。通过Maven,你...
在上述配置中,我们指定了Jetty插件的groupId、artifactId和version,以及一些基本的运行配置,如Web应用的上下文路径(contextPath)和停止服务器的键值对(stopKey和stopPort)。 接下来,为了启动Web工程,只需...
6. **Jetty Eclipse Plugin使用**:熟悉插件的安装和配置过程,学习如何在Eclipse中快速启动Jetty服务器、部署应用、调试Servlet和JSP,以及进行热部署和性能分析。 7. **性能调优**:了解如何通过调整Jetty的配置...
在使用Jetty时,确保你已经安装了正确的JDK版本,并正确配置了`JAVA_HOME`环境变量。解压下载的Jetty发行版后,通过命令行运行相应的启动脚本,就可以启动Jetty服务器。为了部署Web应用程序,可以将WAR文件放置在`...
描述中提到的"手把手教学"意味着这份文档将提供详尽的步骤指导,从安装Jetty插件到配置和使用,帮助初学者快速上手。以下是详细的过程: 1. **安装Jetty插件**: - 打开Eclipse,选择“Help” > “Eclipse ...
以上就是Linux环境下安装Jetty的基本步骤和相关知识点,掌握这些知识将有助于你在Linux系统上搭建和管理Jetty服务器。同时,了解源码和工具标签意味着你可能需要对Jetty的源代码有深入理解,或者利用特定工具进行...
Jetty提供了基本的安全管理功能,如角色基础的访问控制(RBAC)和SSL/TLS支持。但为了满足企业级应用的安全需求,通常需要结合其他安全框架,如Spring Security。 总之,Jetty作为一个强大的Web服务器和Servlet...
Jetty是一款轻量级、高性能的Java Web服务器和...以上是安装和使用Jetty的基本步骤,对于初学者来说,理解这些概念和操作是掌握Jetty的关键。随着经验的增长,你会发现在Jetty中部署和管理Web应用非常灵活且高效。
本文将详细介绍如何在Linux上安装和配置Jetty。 首先,我们需要确保系统中已经安装了Java Development Kit (JDK)。在上述描述中,我们可以看到安装JDK的步骤,包括下载二进制文件,解压,移动到指定目录,并设置...