`
changhongbao
  • 浏览: 123755 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Jetty实战(4)之嵌入式Jetty集成Spring运行

阅读更多

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/来访问。

分享到:
评论

相关推荐

    example-spring-jetty:基于嵌入式Jetty的Spring MVC应用案例

    基于嵌入式Jetty的Spring MVC应用案例 Spring MVC 3.2.x 版本应用,基于嵌入式Jetty实现。 运行 mvn package java -jar target/example-spring-jetty-1.0-SNAPSHOT.jar 查看根信息 查看用户 查看images下面的图片 ...

    jetty 嵌入式开发源码

    Jetty不仅可以独立使用,还可以与Spring Boot、Quarkus等现代Java框架集成,源码中可以看到这些集成的实现细节。 通过深入学习Jetty的嵌入式开发源码,开发者能够更好地理解其工作原理,从而更高效地利用Jetty构建...

    JAVA里使用Jetty作为轻量级嵌入式的Web容器

    - 在Spring Boot中,Jetty是默认的嵌入式服务器选项之一,简化了Spring应用的部署。 通过以上内容,我们可以了解到Jetty在Java Web开发中的重要地位和优势。无论是小型项目还是复杂的分布式系统,Jetty都能提供...

    springbatch_嵌入式jetty_动态控制的quartz

    支持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应用的例程

    这个例程展示了如何利用Spring来启动和管理Jetty服务器,以构建和运行Web应用程序。下面将详细介绍这一过程中的关键知识点。 1. **Spring框架**:Spring是一个全面的Java企业级应用开发框架,提供了依赖注入...

    maven+spring MVC+Mybatis+jetty+mysql

    在本项目中,Maven 负责集成所有依赖,包括Spring MVC、Mybatis、Jetty和MySQL驱动等。 2. Spring MVC: Spring MVC 是Spring框架的一部分,它是一个基于模型-视图-控制器(Model-View-Controller)设计模式的Web...

    jetty 整合spring+mybatis

    Spring还包含Spring MVC,这是一个用于构建Web应用程序的模块,能够与Jetty完美集成。 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数...

    spring boot内置jetty

    Spring Boot 默认会选择一个合适的嵌入式服务器,而 Jetty 就是其中之一。配置文件(如 `application.properties` 或 `application.yml`)中可以设置 `server.embedded.jetty.*` 属性来定制 Jetty 的行为,例如端口...

    Spring Boot实战派(源码)

    Spring Boot简化了Spring应用程序的初始设置和配置,使得开发人员能够快速构建可运行的应用程序。以下是基于源码的详细知识点讲解: 1. **Spring Boot核心概念** - `@SpringBootApplication` 注解:它是`@...

    嵌入jetty的springMVC可运行jar的REST+

    1. **Jetty嵌入式服务器**: Jetty是一个轻量级、高性能的开源HTTP服务器和Servlet容器。它可以直接嵌入到Java应用程序中,无需单独的Web服务器,这使得项目部署更加便捷。Jetty支持最新的Servlet和JSP规范,并且因...

    jetty各个版本下载

    Jetty以其高效、稳定和易于集成的特点,深受开发者喜爱。在本篇文章中,我们将深入探讨Jetty的各个版本以及如何进行下载。 1. **Jetty的历史版本** Jetty的发展历程可以追溯到1995年,自那时以来,它经历了多个...

    java jetty容器

    8. **安全性**: Jetty支持多种安全机制,如SSL/TLS加密、JAAS认证、以及与Spring Security等框架的集成,为Web应用提供了强大的安全保障。 9. **模块化**: Jetty的模块化设计使其可以根据应用需求选择加载特定的...

    maven+spring+jetty+logback简单项目源码

    4. `Jetty`的集成与使用:理解如何配置`Jetty`作为应用服务器,并在`Spring`中启动它。 5. `Logback`配置:学习如何定制日志输出,包括日志级别、格式和目的地。 6. 整合与测试:通过编写单元测试和集成测试,确保...

    Spring 4.X 企业应用 + Spring Boot 实战

    《Spring 4.X 企业应用 + Spring Boot 实战》是一本深入探讨Spring框架与Spring Boot在实际企业级项目中的应用的书籍。这本书旨在帮助开发者掌握这两个核心Java技术,提升他们在现代软件开发中的效率和能力。 ...

    spring-boot实战PDF 完整版和随书源码.7z

    2. 嵌入式服务器:Spring Boot支持内嵌Tomcat、Jetty等Web服务器,无需额外部署,简化了开发和测试流程。 3. 零配置:Spring Boot推崇“约定优于配置”的原则,很多配置都有默认值,极大地减少了繁杂的配置工作。 ...

    jetty v9.2.2版本

    Jetty V9.2.2版本是Jetty项目的一个稳定发行版,专注于提供高效、轻量级且可嵌入式的Web服务器和Servlet容器。Jetty是一个开源的Java HTTP服务器和Servlet容器,它允许开发者在Java应用程序中直接部署和管理Web服务...

    文件上传下载(maven + spring mvc + jetty)

    Jetty是一款轻量级的嵌入式Servlet容器,它可以方便地集成到Maven构建流程中,通过命令`mvn jetty:run`快速启动一个本地服务器,便于开发者进行调试和测试。Jetty支持Servlet 3.1规范,使得我们能够轻松地部署基于...

    web工程 -- linux + 嵌入式jetty + springMVC + maven

    含 过程介绍详细文本、源码(去除公司业务)、maven生成的压缩包。 一开始接到这个命题任务的时候,完全不知道怎么办,网上也没找到什么资料。现整理一下上传看看能不能帮到别人,顺便赚点积分。...

    SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器

    4. **运行与测试**:完成上述步骤后,重新构建并运行项目,Spring Boot将使用Jetty作为Web服务器运行。通过浏览器访问应用,确认是否正常运行。 接下来,我们讨论Jetty容器。Jetty同样是一款轻量级的HTTP服务器和...

    [课堂课件讲解]Java微服务实践-Spring Boot嵌入式Web容器.pptx

    Spring Boot嵌入式Web容器则提供了一种新的解决方案,集成了嵌入式Web容器,提供了更好的性能和灵活性。 传统Servlet容器: Eclipse Jetty是一个基于Java语言的Web服务器和Servlet容器,它提供了HTTP服务器和...

Global site tag (gtag.js) - Google Analytics