Embed Tomcat8简单示例

http://blog.csdn.net/mn960mn/article/details/52596359

一:项目依赖

[html]  view plain  copy
  1. <dependency>  
  2.     <groupId>org.apache.tomcat.embed</groupId>  
  3.     <artifactId>tomcat-embed-core</artifactId>  
  4.     <version>8.5.5</version>  
  5. </dependency>  
  6. <dependency>  
  7.     <groupId>org.apache.tomcat.embed</groupId>  
  8.     <artifactId>tomcat-embed-el</artifactId>  
  9.     <version>8.5.5</version>  
  10. </dependency>  
  11. <dependency>  
  12.     <groupId>org.apache.tomcat.embed</groupId>  
  13.     <artifactId>tomcat-embed-jasper</artifactId>  
  14.     <version>8.5.5</version>  
  15. </dependency>  

二:示例代码

servlet

[java]  view plain  copy
  1. package com.pp.server.tomcat;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. public class HomeServlet extends HttpServlet {  
  11.     private static final long serialVersionUID = 1L;  
  12.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  
  13.         System.out.println("request scheme: " + req.getScheme());  
  14.         resp.getWriter().print("hello tomcat");  
  15.     }  
  16. }  

http示例

[java]  view plain  copy
  1. package com.pp.server.tomcat;  
  2.   
  3. import org.apache.catalina.core.StandardContext;  
  4. import org.apache.catalina.startup.Tomcat;  
  5. import org.apache.catalina.startup.Tomcat.FixContextListener;  
  6.   
  7. public class EmbedTomcatHttp {  
  8.     static final int port = 9080;  
  9.     static final String docBase = "e:/tmp/tomcat";  
  10.     public static void main(String[] args) throws Exception {  
  11.         Tomcat tomcat = new Tomcat();  
  12.         tomcat.setPort(port);  
  13.         tomcat.setBaseDir(docBase);  
  14.         tomcat.getHost().setAutoDeploy(false);  
  15.           
  16.         String contextPath = "/book";  
  17.         StandardContext context = new StandardContext();  
  18.         context.setPath(contextPath);  
  19.         context.addLifecycleListener(new FixContextListener());  
  20.         tomcat.getHost().addChild(context);  
  21.           
  22.         tomcat.addServlet(contextPath, "homeServlet"new HomeServlet());  
  23.         context.addServletMappingDecoded("/home""homeServlet");  
  24.         tomcat.start();   
  25.         tomcat.getServer().await();  
  26.     }  
  27. }  

访问地址:http://127.0.0.1:9080/book/home


https示例

[java]  view plain  copy
  1. package com.pp.server.tomcat;  
  2.   
  3. import org.apache.catalina.connector.Connector;  
  4. import org.apache.catalina.core.StandardContext;  
  5. import org.apache.catalina.startup.Tomcat;  
  6. import org.apache.catalina.startup.Tomcat.FixContextListener;  
  7. import org.apache.coyote.http11.Http11NioProtocol;  
  8.   
  9. public class EmbedTomcatHttps {  
  10.       
  11.     public static final String DEFAULT_PROTOCOL = "org.apache.coyote.http11.Http11NioProtocol";  
  12.     static final String docBase = "e:/tmp/tomcat";  
  13.     static final int port = 9080;  
  14.     static final int ports = 9090;  
  15.     public static void main(String[] args) throws Exception {  
  16.         Tomcat tomcat = new Tomcat();  
  17.         tomcat.setPort(port);  
  18.         tomcat.setBaseDir(docBase);  
  19.           
  20.         Connector connector = new Connector(DEFAULT_PROTOCOL);  
  21.         connector.setPort(ports);  
  22.           
  23.         Http11NioProtocol protocol = (Http11NioProtocol)connector.getProtocolHandler();  
  24.         protocol.setKeystorePass("123456");  
  25.         protocol.setKeystoreFile("e:/tmp/ssl/boot.keystore");  
  26.         protocol.setKeyAlias("mykey");  
  27.         protocol.setSSLEnabled(true);  
  28.           
  29.         tomcat.getService().addConnector(connector);  
  30.         tomcat.getHost().setAutoDeploy(false);  
  31.           
  32.         String contextPath = "/book";  
  33.         StandardContext context = new StandardContext();  
  34.         context.setPath(contextPath);  
  35.         context.addLifecycleListener(new FixContextListener());  
  36.         tomcat.getHost().addChild(context);  
  37.           
  38.         tomcat.addServlet(contextPath, "homeServlet"new HomeServlet());  
  39.         context.addServletMappingDecoded("/home""homeServlet");  
  40.         tomcat.start();   
  41.         tomcat.getServer().await();  
  42.     }  
  43. }  

访问地址:

http://127.0.0.1:9080/book/home

https://127.0.0.1:9090/book/home

注意,在生成密钥的时候要用RSA加密,要不然只能在IE上打开,chrome(版本 53.0.2785.116)会禁止打开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个基于Tomcat、Spring MVC和WebSocket的简单示例: 首先,需要在pom.xml文件中添加以下依赖: ```xml <!-- Tomcat embedded --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-websocket</artifactId> <version>9.0.30</version> </dependency> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.5.RELEASE</version> </dependency> ``` 接下来,创建一个WebSocket处理程序类,例如: ```java import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; @Configuration @EnableWebSocket public class MyWebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(new MyWebSocketHandler(), "/websocket"); } } ``` 在这个例子中,我们创建了一个名为`MyWebSocketHandler`的WebSocket处理程序,并将其映射到`/websocket`路径。接下来,我们需要实现WebSocket处理程序类: ```java import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.handler.TextWebSocketHandler; public class MyWebSocketHandler extends TextWebSocketHandler { @Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { String payload = message.getPayload(); session.sendMessage(new TextMessage("Received: " + payload)); } } ``` 在这个例子中,我们简单地回显任何发送到WebSocket服务器的消息。 最后,在Spring MVC控制器中,我们可以将WebSocket连接注入到请求处理方法中,例如: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.handler.TextWebSocketHandler; @Controller public class MyController { private TextWebSocketHandler myWebSocketHandler; public MyController(TextWebSocketHandler myWebSocketHandler) { this.myWebSocketHandler = myWebSocketHandler; } @RequestMapping(value = "/websocket-test", method = RequestMethod.GET) @ResponseBody public String testWebSocket(WebSocketSession session) { myWebSocketHandler.handleTextMessage(session, new TextMessage("Test message")); return "Message sent"; } } ``` 在这个例子中,我们注入了一个名为`myWebSocketHandler`的WebSocket处理程序,并在请求处理方法中使用它来发送测试消息。 这就是一个简单Tomcat、Spring MVC和WebSocket示例。它可以让你开始理解如何使用这些技术来开发WebSocket应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值