- 浏览: 325680 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ajax忘了跳转:
谢谢分享,基于你的思路。我改良了一版,可供参考public s ...
一个整数的所有最小因子 -
baobaodehao1991:
楼主,合并多列,单元格内容并不能居中,选中合并的单元格,除了前 ...
把table表格内容导出为excel -
lbaaixy:
楼主,小弟最近也在弄这个东西。有点小问题java.lang.C ...
flex + red5实现视频会议 -
weilikk:
好像只能替换整行,如果是一行中有其他数据,只替换行中某个位置就 ...
poi替换模板标签为图片 -
chinaxiaofeng8:
在吗,兄弟,你那个代码怎么运行看效果的
flex + red5实现视频会议
以jetty-hightide-8.1.6.v20120903版本为例,
1.文件服务器
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.HandlerList; import org.eclipse.jetty.server.handler.ResourceHandler; import org.eclipse.jetty.server.nio.SelectChannelConnector; public class FileServer { public static void main(String args[]) throws Exception{ Server server = new Server(); SelectChannelConnector connector = new SelectChannelConnector(); connector.setPort(8080); server.addConnector(connector); ResourceHandler resource_handler = new ResourceHandler(); resource_handler.setDirectoriesListed(true); resource_handler.setWelcomeFiles(new String[]{"index.html"}); resource_handler.setResourceBase("."); HandlerList handlers = new HandlerList(); handlers.setHandlers(new Handler[]{resource_handler,new DefaultHandler()}); server.setHandler(handlers); server.start(); server.join(); } }
2.从xml创建服务器,src放fileServer.xml
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <Configure id="FileServer" class="org.eclipse.jetty.server.Server"> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <Set name="port">8080</Set> </New> </Arg> </Call> <Set name="handler"> <New class="org.eclipse.jetty.server.handler.HandlerList"> <Set name="handlers"> <Array type="org.eclipse.jetty.server.Handler"> <Item> <New class="org.eclipse.jetty.server.handler.ResourceHandler"> <Set name="directoriesListed">true</Set> <Set name="welcomeFiles"> <Array type="String"><Item>index.html</Item></Array> </Set> <Set name="resourceBase">.</Set> </New> </Item> <Item> <New class="org.eclipse.jetty.server.handler.DefaultHandler"> </New> </Item> </Array> </Set> </New> </Set> </Configure>
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.xml.XmlConfiguration; public class FileServerXml { public static void main(String[] args) throws Exception{ Resource fileserver_xml = Resource.newSystemResource("fileServer.xml"); XmlConfiguration configuration = new XmlConfiguration(fileserver_xml.getInputStream()); Server server = (Server)configuration.configure(); server.start(); server.join(); } }
3.servlet
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; public class OneServletContext { /** * @param args * Administrator * 2012-9-12 下午1:12:10 */ public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub Server server = new Server(8080); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new HelloServlet()), "/*"); context.addServlet(new ServletHolder(new HelloServlet("Buongiorno Mondo")), "/it/*"); context.addServlet(new ServletHolder(new HelloServlet("Bonjour le monde")), "/fr/*"); server.start(); server.join(); } }
package com.chinahrt.zyn.jetty; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloServlet extends HttpServlet { private String greeting="Hello World"; public HelloServlet(){} public HelloServlet(String greeting){ this.greeting = greeting; } protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/html"); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().println("<h1>"+greeting+"</h1>"); response.getWriter().println("session="+request.getSession(true).getId()); } }
访问路径:http://localhost:8080/,http://localhost:8080/it,http://localhost:8080/fr
4
package com.chinahrt.zyn.junit.chapter6; 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 HelloHandler 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("Request url:"+target); } }
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandler; import com.chinahrt.zyn.junit.chapter6.HelloHandler; public class OneContext { /** * @param args * Administrator * 2012-9-12 下午12:57:47 */ public static void main(String[] args) throws Exception{ Server server = new Server(8080); ContextHandler context = new ContextHandler(); context.setContextPath("/hello"); context.setResourceBase("."); context.setClassLoader(Thread.currentThread().getContextClassLoader()); server.setHandler(context); context.setHandler(new HelloHandler()); server.start(); server.join(); } }
访问路径:http://localhost:8080/hello
5.war包
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.security.ConstraintSecurityHandler; import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.security.SecurityHandler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.webapp.WebAppContext; public class OneWebApp { /** * @param args * Administrator * 2012-9-12 下午1:23:26 */ public static void main(String[] args) throws Exception{ String jetty_home=System.getProperty("jetty.home","F:\\book\\开源项目\\jetty-hightide-8.1.6.v20120903\\jetty-hightide-8.1.6.v20120903"); Server server = new Server(8080); WebAppContext webapp = new WebAppContext(); SecurityHandler securityHandler = new ConstraintSecurityHandler(); HashLoginService loginService = new HashLoginService(); loginService.setName("Realm"); securityHandler.setLoginService(loginService); webapp.setSecurityHandler(securityHandler); webapp.setContextPath("/"); webapp.setWar(jetty_home+"/webapps/test.war"); server.setHandler(webapp); server.start(); server.join(); } }
6.多个部署
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.security.ConstraintSecurityHandler; import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.security.SecurityHandler; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.webapp.WebAppContext; public class ManyContexts { /** * @param args * Administrator * 2012-9-12 下午1:35:10 */ public static void main(String[] args) throws Exception{ Server server = new Server(8080); ServletContextHandler context0 = new ServletContextHandler(ServletContextHandler.SESSIONS); context0.setContextPath("/ctx0"); context0.addServlet(new ServletHolder(new HelloServlet()), "/*"); context0.addServlet(new ServletHolder(new HelloServlet("buongiorno")),"/it/*"); context0.addServlet(new ServletHolder(new HelloServlet("bonjour le Monde")),"/fr/*"); WebAppContext webapp = new WebAppContext(); String jetty_home=System.getProperty("jetty.home","F:\\book\\开源项目\\jetty-hightide-8.1.6.v20120903\\jetty-hightide-8.1.6.v20120903"); webapp.setContextPath("/ctx1"); webapp.setWar(jetty_home+"/webapps/test.war"); SecurityHandler securityHandler = new ConstraintSecurityHandler(); HashLoginService loginService = new HashLoginService(); loginService.setName("Realm"); securityHandler.setLoginService(loginService); webapp.setSecurityHandler(securityHandler); ContextHandlerCollection contexts = new ContextHandlerCollection(); contexts.setHandlers(new Handler[] { context0, webapp }); server.setHandler(contexts); server.start(); server.join(); } }
url:http://localhost:8080/ctx1/ http://localhost:8080/ctx0/
7
package com.chinahrt.zyn.jetty; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.nio.SelectChannelConnector; import org.eclipse.jetty.server.ssl.SslSelectChannelConnector; import org.eclipse.jetty.util.thread.QueuedThreadPool; import com.chinahrt.zyn.junit.chapter6.HelloHandler; public class ManyConnectors { public static void main(String[] args) throws Exception{ Server server = new Server(); SelectChannelConnector connector0 = new SelectChannelConnector(); connector0.setPort(8080); connector0.setMaxIdleTime(30000); connector0.setRequestHeaderSize(8192); SelectChannelConnector connector1 = new SelectChannelConnector(); connector1.setHost("127.0.0.1"); connector1.setPort(8888); connector1.setThreadPool(new QueuedThreadPool(20)); connector1.setName("/admin"); SslSelectChannelConnector ssl_connector = new SslSelectChannelConnector(); // String jetty_home = System.getProperty("jetty.home", "../jetty-distribution/target/distribution"); String jetty_home = System.getProperty("jetty.home","F:\\book\\开源项目\\jetty-hightide-8.1.6.v20120903\\jetty-hightide-8.1.6.v20120903"); System.setProperty("jetty.home", jetty_home); ssl_connector.setPort(8443); org.eclipse.jetty.util.ssl.SslContextFactory cf = ssl_connector.getSslContextFactory(); cf.setKeyStore(jetty_home+"/etc/keystore"); cf.setKeyStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); cf.setKeyManagerPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g"); server.setConnectors(new Connector[]{ connector0, connector1, ssl_connector }); server.setHandler(new HelloHandler()); server.start(); server.join(); } }
https://localhost:8443/ http://localhost:8888/
评论
2 楼
wyktx
2015-01-31
请教楼主
你的第二个从xml创建服务器,运行main函数那个,我这报空指针异常,请问如何解决?
谢谢
你的第二个从xml创建服务器,运行main函数那个,我这报空指针异常,请问如何解决?
谢谢
1 楼
布拉君君
2013-11-15
请问第一种方式怎么访问啊,你贴的那个访问方式不行啊
发表评论
-
仿微信9宫格群组头像
2015-07-14 20:27 13440开发了一个聊天工具,群组头像像仿照微信的头像那样显示成员头像合 ... -
汉字转拼音
2015-06-18 13:44 1082/* * Copyright (C) 2011 The ... -
poi替换模板标签为图片
2013-08-19 14:49 9002在问答频道看到有人求poi模板替换图片的需求,百度一下,网上没 ... -
为hibernate添加数据库方言函数
2013-06-27 19:31 5247在sessionFactory中配置hibernate.dia ... -
jvm内存映像分析
2013-05-23 20:11 6439jdk自带的jmap就是java内存映像工具,可以 ... -
n个数组各取一数的不重复组合
2013-04-27 00:00 2906package collection; import ... -
求最长的递增子数组
2013-04-24 13:58 1364package com.chinahrt.zyn.pang ... -
从m个字符选出n个的所有组合
2013-04-23 15:49 1524import java.util.ArrayList;imp ... -
查找最小的K个数
2013-04-13 12:04 1599package com.chinahrt.zyn.pango ... -
求连续子数组的最大和
2013-04-11 17:27 1482package com.chinahrt.zyn.pang ... -
求N个字符的全排列
2013-04-10 10:55 1740package com.chinahrt.zyn.pango ... -
web.xml的读取顺序
2013-03-30 11:22 4404由于项目中 ... -
spring的bean实例化时间
2013-03-30 10:54 2582前两天在问答频道看到有同学问spring的b ... -
把table表格内容导出为excel
2012-12-21 13:54 6151package com.chinahrt.report.e ... -
Java 编程规则(think in java 第四版)
2012-11-22 13:38 1222(1) 类名首字母应该大写 ... -
jmail接收邮件(转)
2012-08-07 10:57 2938package com.chinahrt.zyn; im ... -
java求集合交集和并集
2012-07-17 20:16 3520在问答频道遇到求助集合求交集或者并集的问题,自己翻了下api, ... -
应该被记住的 8 位 Java 人物
2012-06-27 21:54 878应该被记住的 8 位 Java 人物 81人收藏此新闻, ... -
自己写的一个类orm映射工具
2012-06-16 16:47 4230利用xml做配置文件,可以动态生成sql: package ... -
tomcat源码阅读(一)
2012-04-06 13:13 0次处代码以tomcat_6_0_18版本为例,从官 ...
相关推荐
2. **嵌入式使用** 在嵌入式开发中,你可以直接在你的Java代码中创建Jetty Server实例,配置Connectors和Handlers,然后启动服务器,无需部署WAR文件。这使得开发、测试和调试过程更加便捷。 3. **源码分析** - `...
shell脚本启动jetty嵌入式server,shell脚本启动jetty嵌入式server
jetty嵌入式服务器开发所必须的jar包,本人使用jetty版本为6.1.3,jar包总数为9个,来自jetty:commons-el-1.0.jar,jasper-compiler-5.5.15,jasper-compiler-jdt-5.5.15.jar,jasper-runtime-5.5.15.jar,jetty-...
NULL 博文链接:https://yangq.iteye.com/blog/1399621
10. **嵌入式使用**: 最大的特点是Jetty的嵌入式特性,可以直接在你的应用程序中启动和停止Jetty服务器,无需独立部署。这对于微服务、测试和快速原型开发非常有利。 通过以上实例,你将能够熟练地在Java项目中...
这个“jetty嵌入式服务.rar”文件很可能包含了关于如何在Java应用中集成和使用Jetty的相关资料。 在Java世界里,嵌入式服务器如Jetty提供了一种方便的方式来部署和运行Web应用程序,特别是对于那些希望快速启动、低...
Jetty 6是一款轻量级、高性能的Java Web服务器和Servlet容器,因其可嵌入式使用而备受开发者青睐。在Eclipse这样的集成开发环境中,你可以直接通过Starter类快速启动和运行Jetty服务,大大简化了Web应用的部署流程。...
最后,`httpserver-test`这个文件可能是测试用例或示例代码,包含了一些使用Jetty实现HTTP服务器的实例,你可以通过查看这个文件来进一步学习和理解Jetty的使用方法。记住,实践是最好的老师,动手编写和运行代码将...
在javaweb项目中嵌入式使用jetty作为web服务器,下载即可运行
jetty嵌入式web容器jar包 示例: public static void main(String[] args) { // 服务器的监听端口 Server server = new Server(6666); // 关联一个已经存在的上下文 WebAppContext context = new WebAppContext...
总结来说,"jetty嵌入式实例"涵盖了如何在Java应用中集成Jetty服务器,接收并处理JSON数据,以及如何从JSON中提取特定信息并展示在浏览器上。这些技能在现代Web开发中非常实用,尤其是在构建RESTful API和服务时。...
**Jetty嵌入式服务器的JNDI快速配置指南** Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,常被用于嵌入式环境,因为它可以方便地与应用程序集成,无需独立部署。JNDI(Java Naming and Directory ...
这些jar包的集合确保了开发人员在使用嵌入式Jetty时可以无缝地处理HTTP请求、Servlet、JSP以及构建流程,从而专注于业务逻辑的开发,而不用花费时间寻找和管理依赖项。对于希望快速搭建和运行Java Web应用的开发者来...
jetty嵌入式服务器开发所必须的全部jar包。本人使用jetty版本为9.0.4,这个版本比较稳定些。jar包数据很多,最后集中在jetty-all中,再外引入一下servlet-api-这个包,是与9.0.4配套的。 好东西,大家分享。
此外,使用Jetty作为嵌入式容器,意味着该工具可以直接与应用程序结合,而无需独立部署或配置服务器。这对于开发者来说是一种非常便捷的解决方案,尤其是在本地开发和调试环境中。Jetty的轻量级特性和低资源消耗也使...
包括org.eclipse.jetty.servlet_7.1.6.v20100715.jar、org.eclipse.jetty.server.jar、org.eclipse.jetty.servlet.source_7.1.6.v20100715.jar三个jar包,在进行jetty嵌入式编程时需要用到。
Java中的Jetty是一个轻量级、高性能且可嵌入式的Web服务器和Servlet容器,它以其简单易用和高效性在开发社区中广受欢迎。本文将深入探讨Jetty的基本概念、特性以及如何在Java项目中使用它。 1. **Jetty简介** - ...
NULL 博文链接:https://vista-rui.iteye.com/blog/1386427
Java如何使用Jetty实现嵌入式的Servlet容器 在Java中,实现嵌入式的Servlet容器可以使用Jetty,Jetty是一个Java实现的开源的servlet容器,可以作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序...