pom.xml:
<!-- jetty dependecies --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.0.0.v20130308</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>9.0.0.v20130308</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-continuation</artifactId> <version>9.0.0.v20130308</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>9.0.0.v20130308</version> </dependency> <!-- jetty dependecies -->
demo:
package jetty.c1; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.*; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by Administrator on 2016/10/31. */ 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 "+request.getAttribute("welcome")+"</h1><div style=\"height:500px;background-image: url(data/nm.png);\">"); } public static void main(String[] args) throws Exception { Server server = new Server(); // 设置在JVM退出时关闭Jetty的钩子。 server.setStopAtShutdown(true); //server.setHandler(new HelloHandler()); //设定多个connector绑定多个端口 ServerConnector connector1 = new ServerConnector(server); connector1.setPort(8080); ServerConnector connector2 = new ServerConnector(server); connector2.setPort(9090); server.setConnectors(new Connector[] { connector1, connector2 }); //资源目录 列出文件名 ResourceHandler resourceHandler = new ResourceHandler(); resourceHandler.setDirectoriesListed(true); resourceHandler.setResourceBase("D:\\360Downloads"); resourceHandler.setStylesheet(""); //设置静态目录路径 ContextHandler staticContextHandler = new ContextHandler(); staticContextHandler.setContextPath("/data"); //staticContextHandler.setContextPath("/files"); staticContextHandler.setHandler(resourceHandler); ServletContextHandler servletContextHandler = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); servletContextHandler.setContextPath("/"); /**可在下面依次添加多个servlet**/ servletContextHandler.addServlet(new ServletHolder(new MyTestServlet("show")), "/show"); servletContextHandler.addServlet(new ServletHolder(new MyTestServlet("display")), "/display"); //servletContextHandler.addServlet(new ServletHolder(new SpuSimilarityServlet()), "/spu"); //servletContextHandler.addServlet(new ServletHolder(new SpuResultServlet()), "/search"); // servletContextHandler.addServlet(new ServletHolder(new AdminServlet()), "/db"); //设置request等 回话值 HandlerWrapper wrapper = new HandlerWrapper() { @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setAttribute("welcome", "Wylazy"); super.handle(target, baseRequest, request, response); } }; HandlerList handlers = new HandlerList(); handlers.addHandler(wrapper); handlers.addHandler(servletContextHandler); handlers.addHandler(staticContextHandler); handlers.addHandler(new HelloHandler()); server.setHandler(handlers); server.start(); server.join(); } }
package jetty.c1; import com.google.gson.Gson; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2016/10/31. */ public class MyTestServlet extends HttpServlet { private String msg = "init"; public MyTestServlet(String msg) { this.msg = msg; } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List<String> list = new ArrayList<String>(); list.add("A"); list.add("中国"); list.add("外国"); list.add(msg); Gson g = new Gson(); //resp.setContentType("charset=utf-8"); ServletOutputStream out = resp.getOutputStream(); String json = g.toJson(list); out.write(json.getBytes()); out.flush(); out.close(); } @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doDelete(req, resp); } @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPut(req, resp); } }
运行效果:
localhost:8080/9090
localhost:8080/show
http://localhost:8080/data/ 文件目录展示:
相关推荐
示例:带JSP支持的嵌入式Jetty 这是一个maven项目,用于构建它: $ mvn clean package 要运行示例org.eclipse.jetty.demo.Main : $ mvn exec:exec 打开您的Web浏览器以: http://localhost:8080/ 停止码头: 使用...
同时也可以修改默认值来满足特定的需求提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式# ...
一个演示项目,展示了可以从嵌入式Jetty运行Vaadin 14应用程序的一种简单main()方法。 开发和生产模式均受支持。 同样,该项目将其本身打包到一个扁平的uberjar和一个包含jar列表和运行脚本的zip文件中。 有关更多...
一个Jfinal angular的框架实现,属于jfinal-dreampie的一个demo,在线访问:... 可直接使用mvn jetty:run 使用嵌入式数据库h2,数据库可以自动验证生成初始化数据 图片: 标签:jfinal
Web应用程序在嵌入式Jetty Servlet容器上运行。 请参阅gradle阶段任务生成的执行脚本。 建议在开发过程中使用动态重新加载类。 从Eclipse运行-在“调试配置”中设置以下参数: 项目:formio-demo(浏览以找到项目...
Code-memo ...嵌入式jetty服务,整合spring、mybatis springboot-demo springboot、jpa、hibernate访问mysql,并提供restful接口 opensource-utils google guaua 使用示例,hbase访问接口以及hbase操
可直接使用mvn jetty:run 使用嵌入式数据库h2,数据库可以自动验证生成初始化数据 使用方式:1.导入IDEA,VCS->Checkout from Version Control->Github(如果没有在plugin里下载或启用) 然后输入项目地址 ...
单元测试( jUnit启动嵌入式Jetty进行测试) 环境 应用程序是通过以下方式创建的: JDK 8u40 Tomcat 8.0.* 技术栈 阿帕奇骆驼 2.15 Spring 4.1(上下文) Apache ActiveMQ 5.10 阿帕奇CXF 3 Ja
适用于Java 11的Google App Engine标准的嵌入式Jetty服务器要迁移到Java 11运行时,您的应用程序必须具有启动Web服务器的Main类。 此样本是一个共享工件,该工件提供Main类来实例化HTTP服务器以运行嵌入式Web应用...
基于 JPA 的银行演示一个完整的银行应用程序,运行在嵌入式、 、 、 和。回购: : 脚步git clone git@github....
该应用程序使用嵌入式Jetty服务器,并且是自包含的。 您需要安装JDK(至少1.6)和maven(最好安装3.0.x,但也可以使用2.x)。 进入主目录,输入: mvn clean install 这将下载所有必要的工件并准备一切。 然后使用...
Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...
Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...
Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...
Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...
一个完整的银行应用程序,运行在嵌入式、 、 、 和。 该演示采用方法进行架构。 特别是,这个演示展示了如何将集成到域实体中 回购: : 脚步 git clone git@github.com:statefulj/statefulj-framework-demo-ddd.git...
Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...
Jetty用于嵌入式Web服务器/ WebSocket服务器。 这仅是视频(无音频),不适用于任何高fps的内容,例如电影/游戏等。仅用于简单的桌面共享。 高fps对于浏览器(javascript / Broadway)可能会占用大量资源。 使用...