jetty运行PHP,jetty,springmvc_springmvc内置jetty启动问题,jetty,springmvc - phpStudy

springmvc内置jetty启动问题

错误

相关代码

启动类

package com.xxx.channel.riskcontrol;

import org.eclipse.jetty.server.Server;

import org.eclipse.jetty.servlet.DefaultServlet;

import org.eclipse.jetty.servlet.ServletHolder;

import org.eclipse.jetty.webapp.WebAppContext;

import org.springframework.web.context.ContextLoaderListener;

import org.springframework.web.servlet.DispatcherServlet;

import org.springframework.web.servlet.ResourceServlet;

public class Launcher {

public static final int PORT = 81;

public static final String CONTEXT = "/";

private static final String DEFAULT_WEBAPP_PATH = "src/main/resources";

/**

* 创建用于开发运行调试的Jetty Server, 以src/main/webapp为Web应用目录.

*/

public static Server createServerInSource(int port, String contextPath) {

Server server = new Server();

// 设置在JVM退出时关闭Jetty的钩子。

server.setStopAtShutdown(true);

WebAppContext webContext = new WebAppContext(DEFAULT_WEBAPP_PATH, contextPath);

ContextLoaderListener listener = new ContextLoaderListener();

webContext.setInitParameter("contextConfigLocation", "classpath:business-xxxx.xml,classpath*:xx-context.xml,classpath*:xx-context.xml, classpath*:xxx.xml,classpath*:xxxxxx.xml,classpath*:xxxxxx.xml");

// webContext.setInitParameter("contextConfigLocation", "mvc-config.xml");

webContext.setResourceBase(DEFAULT_WEBAPP_PATH);

webContext.addEventListener(listener);

ServletHolder holder=new ServletHolder(new ResourceServlet());

webContext.addServlet(holder, "/resources/*");

holder = new ServletHolder(new DispatcherServlet());

holder.setInitParameter("contextConfigLocation", "classpath:mvc-config.xml");

webContext.addServlet(holder, "/");

holder=new ServletHolder(new DefaultServlet());

webContext.addServlet(holder, "*.html");

webContext.setDescriptor("src/main/webapp/WEB-INF/web.xml");

// 设置webapp的位置

// webContext.setClassLoader(Thread.currentThread().getContextClassLoader());

// webContext.setErrorHandler(null);

// webContext.addServlet(new ServletHolder(new DispatcherServlet(context)), "/*");

server.setHandler(webContext);

return server;

}

/**

* 启动jetty服务

*

* @param port

* @param context

*/

public void startJetty(int port, String context) {

final Server server = Launcher.createServerInSource(PORT, CONTEXT);

try {

server.stop();

server.start();

server.join();

} catch (Exception e) {

e.printStackTrace();

System.exit(-1);

}

}

public static void main(String[] args) {

new Launcher().startJetty(81, "");

}

}

探索

找了很多例子,最终怀疑是jetty配置springmvc上下文加载配置文件,不对,查询官网也没一个合适的例子,我是仿照这个例子:https://github.com/bkielczewski/example-... ,我和他的不同点在于他是通过注解去配置文件,而我这里是多个xml文件,有没相关经验者,提供下这段代码该如何写,让jetty正确加载spring配置文件,初始化spring的servlet。并且可以运行 java -jar xx.jar运行这个项目。谢谢了~~相关敏感字用xxx代替了,另外还想问下,有没更好的内置jetty启动方法,一个jar包搞定,不需要容器。

相关阅读:

安装Docker的时候文档中Installing bash completion scripts这一段没看懂

MongoDB 有图形化的日志工具和客户端推荐吗

一个Python爬虫字符串相关的错误?

PHP用代码机器人生成代码是怎么回事?

intellij idea问题

Java中是否有接口可以调用JSTL的表达式求值功能?

fetch-ie8在IE8下的json解析问题

创建服务时,$scope注入报错

css中关于设置透明度的问题,有点混乱

在使用phpstudy的集成环境时,txt文件不能读取是什么原因呢?

httpfs部署问题

vs2013怎么快速生成 类成员变量的get,set函数

SourceTree 下面的diff显示,为什么总是只显示一个文件?

一个页面怎么用另一个页面传过来的东西啊?

zookeeper自身节点故障

PHP图片增加水印后文件大小问题

数据查找问题?

backbone fetch到的数据默认全部放入model里,实际上只想把数据里的data保存成一个models,怎么弄?

怎么在代码层处理app客户端同个人同时并发多个请求?

关于xpath的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值