/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package test;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.FilterHolder;
public class JettyTest {
Server server;
FilterHolder dispatchFilter;
public JettyTest(String context, int port) {
this.init(context, port);
}
public JettyTest(String context, int port, String solrConfigFilename) {
this.init(context, port);
dispatchFilter.setInitParameter("solrconfig-filename",
solrConfigFilename);
}
private void init(String context, int port) {
server = new Server(port);
server.setStopAtShutdown(true);
Context root = new Context(server, context, Context.SESSIONS);
root.addServlet(Servlet404.class, "/e");
root.addServlet(Respones.class, "/r");
}
public void start() throws Exception {
if (!server.isRunning()) {
server.start();
}
}
public void stop() throws Exception {
if (server.isRunning()) {
server.stop();
server.join();
}
}
public int getLocalPort() {
Connector[] conns = server.getConnectors();
if (0 == conns.length) {
throw new RuntimeException("Jetty Server has no Connectors");
}
return conns[0].getLocalPort();
}
public static class Servlet404 extends HttpServlet {
@Override
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException {
res.sendError(200, "Can not find: " + req.getRequestURI());
}
}
public static class Respones extends HttpServlet {
@Override
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException {
res.getWriter().write("welcome");
}
}
public static void main(String[] args) {
try {
JettyTest jetty = new JettyTest("/solr", 3456);
jetty.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
分享到:
相关推荐
在Eclipse中配置Jetty的第一步是安装Jetty插件。你可以通过Eclipse的内置软件更新站点或Marketplace来搜索并安装Jetty插件,例如“Jetty RunWar”或“Jetty Integration”。安装完成后,重启Eclipse。 2. **创建或...
标题中的"jetty-distribution-9.4.6.v20170531"指的是Jetty的特定版本,即9.4系列的第6次更新,发布于2017年5月31日。这个版本包含了完整的Jetty服务器环境,为开发者提供了发布Web项目所需的所有组件。 在Jetty ...
描述中的“三合一”可能指的是这三个库被整合在一起,方便用户一次性下载和使用。 Signpost是一个Java库,它简化了OAuth 1.0a和OAuth 2.0的实现,适用于各种HTTP客户端,包括Apache HttpClient和Jetty HTTP客户端。...
聊天室 一个基于 Java 构建的简单聊天室,使用嵌入式 Jetty 作为其服务器(甚至使用 Hadoop 和 Pig) ... 我只是想第一次尝试 hadoop/pig。 Hadoop 版本:2.6.0 猪版本:0.14.0 请相应地包括图书馆。
随着Maven下载所有依赖项,第一次构建可能会比预期花费更长的时间。 构建测试进行了大量的压力测试,在某些机器上,必须将文件描述符限制设置为大于2048,才能使测试成功通过。 通过使用mvn cle
3. **版本控制**:项目名称中包含"第一次提交",这提示了项目使用了版本控制系统,可能是Git。Git使得团队协作变得简单,它记录了每一次代码更改,便于回溯、合并和分支管理。 4. **IDE集成**:Java开发者常用...
标题 "hajiboot-gradle:第一次在 gradle 上使用 Spring Boot" 指向的是一个关于在Gradle构建系统上集成并使用Spring Boot的教程或项目。这个项目可能是为了帮助开发者理解如何将Spring Boot的便利性与Gradle的强大...
通常使用的嵌入式服务器有Tomcat和Jetty。 健康检查功能允许你监控应用的状态,这对于微服务环境下的运维至关重要。通过 `/actuator/health` 端点,你可以获取应用的运行状况信息。 Spring Boot还提供了丰富的应用...
【标题】:“hajiboot:尝试‘第一次 Spring Boot’” 在本文中,我们将深入探讨“第一次 Spring Boot”的体验,以“hajiboot”项目为例。Spring Boot 是由 Pivotal 团队开发的一个框架,它旨在简化创建独立的、...
"gfxbuilder-svg-0.5"可能是这个项目的版本号,表示这是该工具的第五次重大更新。 描述中的 "shrinkwrap-container-jetty-70.zip" 提到了"shrinkwrap"和"jetty"两个关键概念。ShrinkWrap是一个Java库,用于创建和...
http://localhost:8080在 Heroku 上部署: 第一次运行: mvn package 接下来转到目标目录并运行: heroku deploy:war --war jba.war --app YOUR_APP 要将 WAR 部署到 Heroku,请参阅这篇文章: : 您可以使用此用户...
* 每月每天每小时的第 0 分钟执行一次 /bin/ls:0 * * * * /bin/ls * 在 12 月内,每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup:*/20 6-12 * 12 * /usr/bin/backup * 周一到周五每天下午 5:00...
init.properties 中的管理员账号使用 mvn install 进行构建部署到 Servlet 容器的 ROOT 下并启动容器,数据库表会在第一次启动时自动建立注意:没有数据库建表 SQL 脚本,只需要手动建库,表会在第一次启动时自动...
1. 使用 Cookie:第一次创建 Session 时,服务端会在 HTTP 协议中向客户端 Cookie 中记录一个 Session ID,以后每次请求把这个会话 ID 发送到服务器,这样服务端就知道客户端是谁了。 2. 使用 URL 重写:如果客户端...
- 第一次启动Tomcat后,在解压后的文件夹中可以找到配置文件`dubbo.properties`,路径为: ``` ../tomcat-8.0.50/webapps/dubbo-admin-2.6.0/WEB-INF/dubbo.properties ``` - 在该文件中设置登录密码。 4. **...
您可以在此处访问您的应用程序: http://localhost:8080在 Heroku 上部署: 第一次运行: mvn package 接下来转到目标目录并运行: heroku deploy:war --war jba.war --app YOUR_APP 要将 WAR 部署到 Heroku,请参阅...
3.更易于实现缓存机制(第一次访问资源缓存,第二次访问资源,返回304客户端调用本地) JAX-RS整合spring服务器端开发 建立 maven web项目,演示RS整合spring服务发布 pom文件中导入坐标 web.xml配置...
您所要做的就是输入命令mvn -Prun 然后等待那个maven下载所有需要的东西(可能是第一次),当Jetty启动时,只需将浏览器指向http://localhost:8080享受。建造您可以使用以下命令构建Agorava mvn clean install 它将...
在进行第五次作业时,我们需要构建一个电子点餐系统,这个系统需要具备前端展示、后端处理和数据库管理等功能。下面将详细阐述各个环节的关键知识点。 1. **硬件环境**: 计算机配置是任何软件开发的基础。通常,...
第一次握手确认服务端接收能力,第二次握手确认双方发送和接收能力,第三次握手确认服务端的发送能力。这能避免脏连接,防止因请求超时导致的问题。 2. **四次挥手**:四次挥手用于关闭连接。TCP 连接关闭过程中,...