当前位置: 首页 > 编程笔记 >

Java如何使用Jetty实现嵌入式的Servlet容器

越英韶
2023-03-14
本文向大家介绍Java如何使用Jetty实现嵌入式的Servlet容器,包括了Java如何使用Jetty实现嵌入式的Servlet容器的使用技巧和注意事项,需要的朋友参考一下

最近在项目中遇到关于jetty的问题,所以在网上做一些科普,接下来就给大家做一些分享:

Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty。

Jetty下载地址,本文写作时的最新版本是9.1.2,下载jetty-distribution-9.1.2.v20140210.zip:

注意Jetty 9需要JDK 7,如果使用JDK 6的话会出现错误:java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0。

在java项目中要实现servlet容器,首先需要引入下面的jar包:

  • jetty-servlet-9.1.2.v20140210.jar
  • jetty-webapp-9.1.2.v20140210.jar
  • jetty-xml-9.1.2.v20140210.jar
  • jetty-security-9.1.2.v20140210.jar

lib/jsp文件夹中的jar包

我的项目中是引入的war包文件,附上简单代码:

  public static void main(String[] args) throws Exception 
  { 
    Server server = new Server(8080); 
    //声明上下文对象
    WebAppContext webAppContext = new WebAppContext();
    webAppContext.setContextPath("/");
    webAppContext.setWar("CRweb.war");
    webAppContext.setInitParameter("dirAllowed", "false"); 
    //HandlerList顺序执行handler
    HandlerList handlers = new HandlerList();
    //声明ServletContextHandler
    ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); 
    context.setContextPath("/s"); 
     //设置句柄
    server.setHandler(context); 
    context.addServlet(new ServletHolder(new SelectPatientServlet()), "/selectOne"); 
    //处理程序
    handlers.addHandler(context); 
    handlers.addHandler(webAppContext);
    // Add the handlers to the server adminand start jetty.
    server.setHandler(handlers);
    //启动服务star
    server.start(); 
  {
  GUI界面界面加载的一些程序
  }
    // 最后加入服务器
    server.join();
  } 

项目中涉及到 在Java中内嵌浏览器插件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我正在使用嵌入式Jetty,我想添加一个servlet过滤器以在每个请求之前检查身份验证。我尝试按照以下示例进行操作,但签名似乎已更改。 我的Jetty启动器看起来像这样: 当我取消注释 我发现签名已更改。因此,我想退一步,问一问,对于嵌入式Jetty,如何添加一个在请求开始时运行的过滤器,并仅在满足某些条件时才允许请求继续进行? AuthenticationFilter类的开始看起来

  • 本文向大家介绍Spring Boot如何支持嵌入式Servlet容器,包括了Spring Boot如何支持嵌入式Servlet容器的使用技巧和注意事项,需要的朋友参考一下 Spring Boot支持Tomcat、Jetty和Undertow三种Servlet容器嵌入到Web应用程序中,开发者使用starter即可方便嵌入,默认情况下,嵌入服务器的访问端口为8080。 Servlets、Filter

  • 我正在写java web应用程序的扩展。我用maven覆盖插件将这个应用程序添加到扩展中,并使用主应用程序中的web.xml文件和webapp文件夹。我还想用jetty嵌入式服务器为我的扩展编写集成测试平台。我试过了

  • 我把头撞到墙上了。我编写了一个小型嵌入式jetty服务器(jetty 9.4.18,jersey 1.19.4),但我无法让它尊重上下文路径和部署的REST服务。 我尝试了setContextPath,但这在ServletContextHandler上不起作用,所以我使用了WebAppContext。 任何帮助都将不胜感激,因为我觉得我在这里被困在一码线上。

  • 问题内容: 我将jetty嵌入到我的应用程序中,并尝试找出如何添加servlet过滤器(用于cookie处理)。Wiki和javadoc的含义不明确,我缺少什么: 我在此找到的唯一信息是一个论坛帖子,建议对此文档进行改进。 问题答案: 更新:对于Jetty版本9.2.2: 原始答案=== 如果您不想使用web.xml,请使用以下命令: 如果确实要使用web.xml而不是addFilter()方法,

  • 我将从Groovy脚本中启动Jetty Web服务器。Jetty的默认日志记录是stderlog。现在我想配置这个日志记录,但文档中只提到了在使用start时如何进行配置。jar方法启动Jetty。 我如何配置,更具体地说,配置旋转日志文件,与StdErrLog嵌入式码头?