嵌入式 Jetty 9.0+ 测试demo
来源:互联网 发布:什么是软件质量管理 编辑:程序博客网 时间:2024/05/19 10:15
pom:
<!-- 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(""); //设置静态目录访问contextPath(映射到 上述 资源目录中,即访问 localhost:4080/data/a.jpg = 访问 D:\\360Downloads\\a.jpg) 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/ 文件目录展示:
0 0
- 嵌入式 Jetty 9.0+ 测试demo
- jetty嵌入式 webApp开发(Simple Demo)
- Jetty实战(7)之嵌入式Jetty应用Demo
- 嵌入式jetty
- 嵌入式jetty启动spring(java配置方式),junit测试用
- jetty之嵌入式运行jetty
- Jetty+Struts Demo
- Jetty+Struts+Spring Demo
- OSGi和嵌入式Jetty
- 嵌入式jetty的使用
- jetty 嵌入式服务器介绍
- Jetty嵌入式服务器
- 启动嵌入式Jetty服务器
- Jetty嵌入式服务器
- jetty嵌入式使用方法
- Jetty嵌入式开发
- Jetty嵌入式应用
- jetty嵌入式配置总结
- IOS开发之UIScrollViewDelegate详解
- 1029. Median (25)
- SmartImageView使用
- linux驱动开发:了解网卡的相关函数和结构
- 文字溢出使用点点点
- 嵌入式 Jetty 9.0+ 测试demo
- 实现UIScrollView循环滚动
- 抑郁症的几大误区,你造吗?
- Maven基本命令
- mac下看android系统源码的方式
- 如何让 UITableView 的 headerView跟随 cell一起滚动
- 16.11.2
- bzoj 1208宠物收养所 splay或set
- Mybatis异常:Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lan