1. 首先修改pom.xml文件,添加spring的依赖项
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.google.code.garbagecan.jettystudy</groupId> <artifactId>jettystudy</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>jettystudy</name> <url>http://maven.apache.org</url> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <inherited>true</inherited> <configuration> <source>1.6</source> <target>1.6</target> <debug>true</debug> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.eclipse.jetty.aggregate</groupId> <artifactId>jetty-all</artifactId> <version>8.0.4.v20111024</version> <type>jar</type> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version> <type>jar</type> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
2. 创建一个Server类,用来通过spring来启动Jetty server
package com.google.code.garbagecan.jettystudy.sample4; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyServer { public static void main(String[] args) throws Exception { new ClassPathXmlApplicationContext("/com/google/code/garbagecan/jettystudy/sample4/spring.xml"); } }
3. 创建一个Handler类,用了处理http请求
package com.google.code.garbagecan.jettystudy.sample4; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; public class MyHandler extends AbstractHandler { public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); response.getWriter().println("<li>Request url: " + target + "</li>"); response.getWriter().println("<li>Server port: " + request.getServerPort() + "</li>"); } }
4. 创建一个spring配置文件,并放在com/google/code/garbagecan/jettystudy/sample4/spring.xml位置,内容如下.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="Server" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop"> <property name="connectors"> <list> <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <property name="port" value="8080" /> </bean> </list> </property> <property name="handler"> <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerList"> <property name="handlers"> <list> <bean class="com.google.code.garbagecan.jettystudy.sample4.MyHandler" /> <bean class="org.eclipse.jetty.server.handler.DefaultHandler" /> </list> </property> </bean> </property> </bean> </beans>
其中定义了Jetty Server的配置,包括Connector和Handler等等。
5. 运行MyServer类,然后通过http://localhost:8080/来访问。
相关推荐
基于嵌入式Jetty的Spring MVC应用案例 Spring MVC 3.2.x 版本应用,基于嵌入式Jetty实现。 运行 mvn package java -jar target/example-spring-jetty-1.0-SNAPSHOT.jar 查看根信息 查看用户 查看images下面的图片 ...
Jetty不仅可以独立使用,还可以与Spring Boot、Quarkus等现代Java框架集成,源码中可以看到这些集成的实现细节。 通过深入学习Jetty的嵌入式开发源码,开发者能够更好地理解其工作原理,从而更高效地利用Jetty构建...
- 在Spring Boot中,Jetty是默认的嵌入式服务器选项之一,简化了Spring应用的部署。 通过以上内容,我们可以了解到Jetty在Java Web开发中的重要地位和优势。无论是小型项目还是复杂的分布式系统,Jetty都能提供...
支持web接口的批处理框架 ...springmvc4.0.7 springbatch3.0.7 quartz2.2.3 mysql5.6 oracle11g junit4.11 log4j1.2.17 mybatis3.4.1 druid1.0.17 smg3(决策引擎) jetty8.1.5 fastjson1.2.7 springjdbc3.2.14
这个例程展示了如何利用Spring来启动和管理Jetty服务器,以构建和运行Web应用程序。下面将详细介绍这一过程中的关键知识点。 1. **Spring框架**:Spring是一个全面的Java企业级应用开发框架,提供了依赖注入...
在本项目中,Maven 负责集成所有依赖,包括Spring MVC、Mybatis、Jetty和MySQL驱动等。 2. Spring MVC: Spring MVC 是Spring框架的一部分,它是一个基于模型-视图-控制器(Model-View-Controller)设计模式的Web...
Spring还包含Spring MVC,这是一个用于构建Web应用程序的模块,能够与Jetty完美集成。 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数...
Spring Boot 默认会选择一个合适的嵌入式服务器,而 Jetty 就是其中之一。配置文件(如 `application.properties` 或 `application.yml`)中可以设置 `server.embedded.jetty.*` 属性来定制 Jetty 的行为,例如端口...
Spring Boot简化了Spring应用程序的初始设置和配置,使得开发人员能够快速构建可运行的应用程序。以下是基于源码的详细知识点讲解: 1. **Spring Boot核心概念** - `@SpringBootApplication` 注解:它是`@...
1. **Jetty嵌入式服务器**: Jetty是一个轻量级、高性能的开源HTTP服务器和Servlet容器。它可以直接嵌入到Java应用程序中,无需单独的Web服务器,这使得项目部署更加便捷。Jetty支持最新的Servlet和JSP规范,并且因...
Jetty以其高效、稳定和易于集成的特点,深受开发者喜爱。在本篇文章中,我们将深入探讨Jetty的各个版本以及如何进行下载。 1. **Jetty的历史版本** Jetty的发展历程可以追溯到1995年,自那时以来,它经历了多个...
8. **安全性**: Jetty支持多种安全机制,如SSL/TLS加密、JAAS认证、以及与Spring Security等框架的集成,为Web应用提供了强大的安全保障。 9. **模块化**: Jetty的模块化设计使其可以根据应用需求选择加载特定的...
4. `Jetty`的集成与使用:理解如何配置`Jetty`作为应用服务器,并在`Spring`中启动它。 5. `Logback`配置:学习如何定制日志输出,包括日志级别、格式和目的地。 6. 整合与测试:通过编写单元测试和集成测试,确保...
《Spring 4.X 企业应用 + Spring Boot 实战》是一本深入探讨Spring框架与Spring Boot在实际企业级项目中的应用的书籍。这本书旨在帮助开发者掌握这两个核心Java技术,提升他们在现代软件开发中的效率和能力。 ...
2. 嵌入式服务器:Spring Boot支持内嵌Tomcat、Jetty等Web服务器,无需额外部署,简化了开发和测试流程。 3. 零配置:Spring Boot推崇“约定优于配置”的原则,很多配置都有默认值,极大地减少了繁杂的配置工作。 ...
Jetty是一款轻量级的嵌入式Servlet容器,它可以方便地集成到Maven构建流程中,通过命令`mvn jetty:run`快速启动一个本地服务器,便于开发者进行调试和测试。Jetty支持Servlet 3.1规范,使得我们能够轻松地部署基于...
含 过程介绍详细文本、源码(去除公司业务)、maven生成的压缩包。 一开始接到这个命题任务的时候,完全不知道怎么办,网上也没找到什么资料。现整理一下上传看看能不能帮到别人,顺便赚点积分。...
4. **运行与测试**:完成上述步骤后,重新构建并运行项目,Spring Boot将使用Jetty作为Web服务器运行。通过浏览器访问应用,确认是否正常运行。 接下来,我们讨论Jetty容器。Jetty同样是一款轻量级的HTTP服务器和...
Spring Boot嵌入式Web容器则提供了一种新的解决方案,集成了嵌入式Web容器,提供了更好的性能和灵活性。 传统Servlet容器: Eclipse Jetty是一个基于Java语言的Web服务器和Servlet容器,它提供了HTTP服务器和...
- **与其他框架集成**:Jetty可以与Spring、Hibernate等Java框架无缝集成,简化Web应用开发。 - **插件系统**:Jetty的插件系统允许用户自定义扩展,例如添加新的HTTP方法或实现特定的协议。 6. **版本9.3.5.v...