迁移自个人百度空间博客!!!
Jetty有个口号叫做:"
Don't deploy your application in Jetty, deploy Jetty in your application."
本文演示如何使用嵌入式Jetty把HTTP Module嵌入应用程序。
Jetty不同的版本,包的结构不同,本文使用Jetty的7.0.2版本,目前Jetty的版本是8.0.4.
1、首先要获取Jetty的Jar包。可以到http://search.maven.org/地址获取,在文本框中输入"jetty-all-"关键字,选择ArtifactId为"jetty-all"的一个"all(xx)"链接。找到版本"7.0.2.v20100331"的Jar包进行下载。
2、然后接着使用类似的方式查找servlet-api-2.5.jar包。可以在文本框中输入:
" g:"javax.servlet" ANDa:"servlet-api""。找到进行下载。
如果使用Maven配置,则复制配置信息即可。(此文不讲述Maven方式的配置)
3、在C盘下建立jetty文件夹,把下载的两个Jar包放进去。同时创建HelloServlet.java文件,该文件源代码如下:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class HelloServlet extends HttpServlet {
String greeting = "Hello World";
publicHelloServlet(){
}
public HelloServlet(String hi) {
greeting = hi;
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=utf-8"); // 加上此行代码,避免出现中文乱码
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<center>");
response.getWriter().println("<h1>" + greeting + "</h1>");
response.getWriter().println("<h1>你可以尝试在浏览器中尝试输入如下地址:</h1>");
response.getWriter()
.println(
"<ahref='http://localhost:8080/servlet'>http://localhost:8080/servlet</a><br><br>");
response.getWriter()
.println(
"<ahref='http://localhost:8080/servlet/it'>http://localhost:8080/servlet/it</a><br><br>");
response.getWriter()
.println(
"<ahref='http://localhost:8080/servlet/fr'>http://localhost:8080/servlet/fr</a><br><br>");
response.getWriter().println(
"sessionId=" + request.getSession(true).getId());
response.getWriter().println("</center>");
}
}
创建OneServletContext.java文件,源代码如下:
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.ResourceHandler;
importorg.eclipse.jetty.server.handler.ContextHandlerCollection;
public classOneServletContext{
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
// 创建ServletContextHandler,设置Servlet
ServletContextHandler servlet = new ServletContextHandler(
ServletContextHandler.SESSIONS);
servlet.setContextPath("/servlet");
servlet.addServlet(new ServletHolder(new HelloServlet()), "/*");
servlet.addServlet(new ServletHolder(new HelloServlet(
"this pathis /servlet/it")), "/it/*");
servlet.addServlet(new ServletHolder(new HelloServlet(
"this pathis /servlet/fr")), "/fr/*");
// 创建ContextHandler,设置静态资源
ContextHandler context = new ContextHandler();
context.setContextPath("/");
context.setResourceBase(".");//设置路径
context.setClassLoader(Thread.currentThread().getContextClassLoader());
context.setHandler(new ResourceHandler());
// 创建ContextHandlerCollection 集合
ContextHandlerCollection contexts = newContextHandlerCollection();
contexts.setHandlers(new Handler[] { servlet, context });
// 设置Handler
server.setHandler(contexts);
server.start();
server.join();
}
}
创建index.html文件,内容为Hello World。
复制以下命令,同时在当前目录创建一个后缀为.bat的批处理文件。
@echo off
javac -cp.;servlet-api-2.5.jar;jetty-all-7.0.2.v20100331.jar *.java
java -cp.;servlet-api-2.5.jar;jetty-all-7.0.2.v20100331.jar OneServletContext
4、 双击批处理运行,看到如下图所示说明Jetty成功启动。
在地址栏中输入http://localhost:8080,可看到如下效果。
静态资源的注册
在地址栏中输入 http://localhost:8080/servlet/ ,可看到如下效果:
Servlet的注册
有关其他关于Jetty的资源,请到 http://wiki.eclipse.org/Jetty 查看。
转载请注明文章出处!!!!!!
- 大小: 25.4 KB
- 大小: 21.1 KB
- 大小: 63.1 KB
分享到:
相关推荐
Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它允许开发者将Web服务器功能直接嵌入到Java应用程序中,无需外部服务器。本案例主要探讨Jetty在嵌入式Web编程中的多种实现方法,旨在帮助开发者更好地...
通过这个实战项目,学习者可以了解到Jetty的核心概念,掌握如何将Jetty嵌入到自己的Java应用中,以及如何构建、运行和调试Web应用。对于想要快速搭建Web服务的开发者来说,这是一次非常有价值的实践。
码头4Spring该库可帮助您将Jetty嵌入到Spring应用程序中。动机将Web容器(Jetty)嵌入到应用程序中是一种创建独立且轻量级应用程序的新方法。 当我决定将Jetty嵌入到一个应用程序中(在令人惊叹的Spring Boot之前)...
传统的Web服务器是独立运行的进程,而嵌入式Web服务器如Jetty则可以被直接集成到应用程序中,无需启动单独的服务。这种方式使得开发、测试和部署变得更加灵活和高效。 在Jetty 6.1.4中,你可以通过简单的Java代码将...
Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它被广泛用于开发、测试和部署Web应用程序。内嵌Jetty意味着将Jetty服务器直接集成到你的Java应用中,而不是作为一个独立的服务来运行。这种方式提供了更...
Jetty 8是一款轻量级、高性能的Java Web服务器和Servlet容器,它允许开发者将Web服务器直接嵌入到他们的应用程序中,从而简化了部署和测试流程。Jsoup则是一个用于处理现实世界HTML的Java库,它提供了非常方便的API...
Jetty 8.0是Java应用服务器的一种,主要用于托管Web应用程序。它是一个开源项目,以其轻量级、高效和易于集成的特点在开发社区中受到欢迎。Jetty支持Servlet 3.0规范,提供了对WebSocket协议的早期支持,这在当时是...
Jetty 设计之初就是作为一个优秀的组件来设计的,这也就意味着 Jetty 可以非常容易的嵌入到应用程序当中而不需要程序为了使用 Jetty 做修改。从某种程度上,你也可以把 Jetty 理解为一个嵌入式的Web服务器。 Jetty...
在Java应用程序中,Jetty可以直接嵌入,无需独立服务器进程,这样可以简化部署流程。 集成Jetty的步骤主要包括: 1. 添加Jetty依赖:在项目中引入Jetty的JAR文件或通过Maven/Gradle等构建工具添加依赖。 2. 初始化...
此外,Jetty的轻量化使得将其嵌入到Java应用程序中变得异常简单,只需少量代码即可实现。 在可扩展性方面,Jetty针对高并发和长时间连接的Web 2.0应用进行了优化。它利用Continuation机制有效地处理大量用户请求和...
Jetty 8 是一个轻量级、高性能的Java Web服务器和Servlet容器,它允许开发者将Web服务器和应用服务器集成到他们的应用程序中。本教程将深入探讨如何使用Jetty 8进行内嵌式启动运行,这对于开发和测试环境非常有用,...
面向Java开发人员的Ajax技术,特别是与Jetty服务器和Direct Web Remoting (DWR)框架的结合,为创建高性能、可扩展的Comet应用程序提供了强大的工具。Comet是一种Web交互模式,它允许服务器向客户端推送数据,而不...
标题中的“嵌入jetty的springMVC可运行jar的REST+”指的是使用Jetty作为嵌入式服务器来运行一个包含Spring MVC的Java Web应用程序,该应用提供了RESTful API服务。这种架构允许开发者将Web服务器与应用代码打包成...
3. **嵌入简单**:将Jetty嵌入到Java应用程序中只需少量代码,降低了集成的复杂度。 **可扩展性** 面对Web 2.0应用中大量并发请求和长时间连接的问题,Jetty表现出优秀的可扩展性: 1. **高性能**:即使在高负载...
嵌入式Jetty允许我们将Jetty直接集成到应用程序中,无需单独部署或管理服务器进程。 2. **Struts2**:这是一个流行的MVC(Model-View-Controller)框架,用于构建Java Web应用程序。Struts2引入了Action类和注解,...
这是一个独立的基于 Spring 的 Java 应用程序,它嵌入了 Jetty 并使用 SpringMVC 作为其 Web 层。 它是一个模板,用于演示将 Jetty 和 SpringMVC 作为 Web 层嵌入到您的应用程序中,而不是将您的应用程序部署到容器...
- **可嵌入式**:开发者可以直接将Jetty嵌入到应用程序中,无需外部进程,简化了部署和管理。 - **高性能**:Jetty采用了NIO(非阻塞I/O)模型,提高了并发处理能力。 - **WebSocket支持**:Jetty是最早支持...
Jetty 6是一款轻量级、高性能的Java Web服务器和HTTP服务器,它可以在Java应用程序中嵌入使用,无需单独部署。这篇博客文章可能是关于如何将Jetty 6集成到Java项目中的教程。以下是对这个主题的详细解释: 一、...
启动Jetty可以通过命令行方式执行Jetty安装目录下的启动脚本(如`start.jar`),或者通过编程的方式在Java应用程序中嵌入Jetty服务器。具体方法可以根据实际情况选择。 #### 五、总结 通过上述步骤,我们可以轻松...
由于其轻量级特性,Jetty无需复杂的部署步骤,可以方便地与Java应用程序集成,尤其适合嵌入式场景。 在使用Jetty开发Web应用之前,确保已安装了Java Development Kit (JDK)。然后,你可以通过Maven或Gradle将Jetty...