/**
* 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();
}
}
}
分享到:
相关推荐
聊天室 一个基于 Java 构建的简单聊天室,使用嵌入式 Jetty 作为其服务器(甚至使用 Hadoop 和 Pig) ... 我只是想第一次尝试 hadoop/pig。 Hadoop 版本:2.6.0 猪版本:0.14.0 请相应地包括图书馆。
随着Maven下载所有依赖项,第一次构建可能会比预期花费更长的时间。 构建测试进行了大量的压力测试,在某些机器上,必须将文件描述符限制设置为大于2048,才能使测试成功通过。 通过使用mvn cle
http://localhost:8080在 Heroku 上部署: 第一次运行: mvn package 接下来转到目标目录并运行: heroku deploy:war --war jba.war --app YOUR_APP 要将 WAR 部署到 Heroku,请参阅这篇文章: : 您可以使用此用户...
init.properties 中的管理员账号使用 mvn install 进行构建部署到 Servlet 容器的 ROOT 下并启动容器,数据库表会在第一次启动时自动建立注意:没有数据库建表 SQL 脚本,只需要手动建库,表会在第一次启动时自动...
您可以在此处访问您的应用程序: 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 它将...
安装工具:java se 8; apatch maven 2.5 MySQL 5.5 设置系统变量java_home,maven_home!... 使用以下命令从转储文件还原数据库:mysql --u ...[转储文件] 输入项目目录并输入命令:mvn jetty:run 放入浏览器网址:
ZK MVVM Spring Data Mongodb & Google Maps Demo 建造 使用以下命令构建并运行代码: mvn -Dmaven.test.skip=true package jetty:run ...在第一次启动时,应用程序将尝试从来自的文件 zips.json
Spring MVC展示柜 ...如果这是您第一次使用Github,请查看以了解基础知识。 要运行该应用程序: 从命令行使用Maven: $ cd spring-mvc-showcase $ mvn jetty:run 在以下位置访问已部署的Web应用程序:
上次介绍了开源项目如何利用TravisCI进行持续集成,但是如果你的项目不是开源项目,用TravisPro就需要交钱了。如果不想交钱,可以自己搭建CI环境,利用JenkinsCI进行持续集成。...第一次启动Jenkins时,出于
当第一次请求 REST-API 时,你会得到一个 COOKIE。 此 cookie 用于识别用户。 通过发送此 cookie,应用程序知道您的状态。 (登录/注销)如果您想对自己进行身份验证,请将带有您的凭据的 HTTP 请求作为 ...
Spring MVC展示柜 ...如果这是您第一次使用Github,请查看以了解基础知识。 要运行该应用程序: 在Maven的命令行中: $ cd spring-mvc-showcase $ mvn jetty:run 在以下位置访问已部署的Web应用程序:
使用dev/user.clj解决服务器启动REPL加入开发人员资料简化服务器生命周期管理添加shadow-cljs并与clj&cljs一起插入添加试剂并从前端获取我们的API 添加积分关于repl_sessions的简短说明,易于部署待办事项第一次...
我第一次尝试构建Clojure Web应用程序 发展 设置 首次克隆此存储库时,请运行: lein duct setup 这将创建用于本地配置的文件,并为项目准备系统。 环境 要开始开发,请从REPL开始。 lein repl 然后加载开发环境...
或查看我们的指南以定义您的第一个 Conjure API。 特征 使团队能够跨多种语言一起工作 消除了一整类序列化错误 抽象出人体工程学界面背后的低级细节 用于建模域的表达性语言(枚举、联合类型、映射、列表、集合) 有...
在eclipse中,右键点击项目名,选择Run as - Maven build...,Goals填入clean package,然后点击Run,第一次运行需要下载jar包,请耐心等待 12、部署项目。将项目部署到Tomcat7或以上版本,启动Tomcat。也可使用...
通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 > zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理...
通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理、...