jetty作为一个web容器,部署时只需要将部署包扔到 $JETTY_HOME/webapp目录下即可!
例如工程 test.war ,在启动jetty后的访问路径就是 http://localhost:8080/test ,若是我们期望访问 http://localhost:8080/ 即是访问test工程的呢?有两种办法可以解决。
1.直接将 test.war 改名为root.war 。
这个是最简单的做法,也是一般web容器都通用的做法,放到tomcat也是这种做法。
2.修改contexts目录下文件。
这个做法稍微有点麻烦,是通过设置 contexts来达到目的,不期望改变原来的配置文件,所以我们copy配置文件出来。
step1 准备工作
mkdir -p /home/inter12/jetty/webapp/virtual
mkdir -p /home/inter12/jetty/config
mkdir -p /home/inter12/jetty/config/contexts
cp $JETTY_HOME/etc/jetty.xml /home/inter12/jetty/config/
step2 修改配置
vim /home/inter12/jetty/config/jetty.xml
修改其中的
....
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.ContextDeployer">
<Set name="contexts"><Ref id="Contexts"/></Set>
<!----------------- 将contexts路径设置为我们新的 -------------------->
<Set name="configurationDir">/home/inter12/jetty/config/contexts</Set>
<Set name="scanInterval">5</Set>
</New>
</Arg>
</Call>
.......
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.WebAppDeployer">
<Set name="contexts"><Ref id="Contexts"/></Set>
<!--------------- 设置webapp 目录 指定到一个虚拟的webapp 。--------------->
<Set name="webAppDir">/home/inter12/jetty/webapp/virtual</Set>
<Set name="parentLoaderPriority">false</Set>
<Set name="extract">true</Set>
<Set name="allowDuplicates">false</Set>
<Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
</New>
</Arg>
</Call>
......
cd /home/inter12/jetty/config/contexts
新建一个 test.xml(这个名字可以是任意的)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Required minimal context configuration : -->
<!-- + contextPath -->
<!-- + war OR resourceBase -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<Set name="contextPath">/</Set>
<!-- 这里必须加上war这个结尾 - - - - - - - - - - - - - - - - - - - - -->
<Set name="war">/home/inter12/jetty/webapp/test.war</Set>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Optional context configuration -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
</Configure>
好了,到这里就已经基本结束了。
启动jetty
cd $JETTY_HOME
java -jar start.jar /home/inter12/jetty/config/jetty.xml
那么访问 http://localhost:8080/test 等同于 http://localhost:8080
TIPS:
若是通过contexts来配置 / 访问的话,那么war就不要放在webapp目录下,jetty会加载两边,若是配置了log4j的话,就会出现一下错误,切记!!!
Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
分享到:
相关推荐
jetty-web.xml–Web App configuration jetty-env.xml–JNDI configuration webdefault.xml–Pre-web.xml configuration override-web.xml–Post-web.xml configuration 特性参考 SSL Connectors参考 QoSFilter参考 ...
Jetty 6是一款轻量级、高性能的Java Web服务器和Servlet容器,因其可嵌入式使用而备受...在实际开发中,你可以根据需要进一步配置Jetty,例如设置服务器的线程池大小、添加自定义的处理器等,以满足不同场景的需求。
- **小巧嵌入**:Jetty的JAR文件大小仅约600KB,易于动态嵌入到各类应用程序中,特别适用于开发Web 2.0等新型互联网应用。 - **应用广泛**:在开源与商业项目中广泛应用,如**Geronimo**、**JBoss**、**IBM Tivoli**...
例如,可以在此文件中设置默认的会话超时时间、错误页面等。 ```xml <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-...
- 在 Eclipse 中配置 Jetty 的启动配置,指定 Jetty home 和 web app root。 - 选择 "Run Configurations",新建 Jetty 配置。 - 设置 "Main Class" 为 "org.eclipse.jetty.server.Server"。 - 配置 "Server ...
jetty 服务器: cd $APP_ROOT/airport-ui mvn jetty:run 运行 CLI 应用程序从airport-cli模块运行 CLI 应用程序cd $APP_ROOT/airport-cli 列出平面实体: java -jar target/airport-cli-1.0-SNAPSHOT-jar-with-...
在`application.yml`中,我们可以定义应用的环境变量、服务器端口、数据源配置、日志设置等。例如: ```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root ...
当部署Web应用程序时,尤其是基于Java的Web应用,servlet容器(如Tomcat、Jetty)会使用这个API来运行和管理Servlet。 在部署WebContent(可能是一个Web应用目录结构的名称)时,开发者通常会遵循以下步骤: 1. **...
`mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts-archetype -DarchetypeVersion=2.1.0-M2 -DgroupId=cn.xue.app -DartifactId=xueAppFuse` ...
- 确保NetBeans配置为使用内置的Jetty服务器(如果尚未设置)。然后,右键点击项目,选择“运行”以启动应用服务器。 - 打开浏览器,输入`http://localhost:8080/hello`,你应该能看到“Hello, Nutz MVC!”的问候...
注意:需要 MySQL 服务器,运行在 localhost(默认用户名:密码,“root”:“”,可以在 SQLUtils->Values 类中更改) mvn install mvn jetty:run 运行在localhost:8080/EveryConvoAPI API 服务器在localhost:...
- 配置好MySQL服务,包括设置root用户密码等。 #### 二、AppFuse 2.0 项目初始化与配置 接下来,是AppFuse 2.0项目初始化的关键步骤。 **1. 解压AppFuse依赖** - 下载`appfuse-dependencies-2.0.2`。 - 将其解...
`logback.xml` 是 Logback 的配置文件,通过它可以设置日志级别、日志输出目的地、过滤器等。以下是一些配置示例: ```xml <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ...
在生产环境中,通常会将日志级别设置为 INFO 或 WARN,以便于监控应用状态,而在开发调试时,可能需要更低级别的日志,如 DEBUG 或 TRACE。 - **Appender**:Appender 是日志输出的目标,可以是控制台、文件、数据库...
2. **嵌入式Web服务器**:SpringBoot可以内嵌Tomcat或Jetty等Web服务器,无需额外安装,方便部署。 3. **起步依赖**:SpringBoot通过“起步依赖”(Starter POMs)来简化Maven配置,每个依赖都包含了运行项目所需的...
# 拷贝demo/src/main/webapp中的所有文件至Q项目WebRoot(或叫WebContent)下 # 拷贝lib目录下所有的jar包至Q项目WebRoot(或叫WebContent)/WEB-INF/lib下(servlet-api-2.5.jar如果容器已经包含就不必添加) ===在...
<file>logs/app.log <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n <root level="info"> </root> ``` **日志性能** Logback 被设计为高效且低开销的。它利用了Java的反射和...
完成上述步骤后,可以通过Maven的`mvn tomcat7:run`或`mvn jetty:run`命令启动项目,然后访问预设的URL进行测试。 总结,SpringMVC与MyBatis的整合让开发更加便捷,通过注解和配置文件,我们可以快速实现业务逻辑与...
app.properties 项目中暂时未用到,可废弃 9、项目中为简化代码,用到了 lombok 插件,大家可自行安装。 10、由于项目采用前后台分离,也为了将来配置读写分离,项目需 root 根目录运行,如若不然可能会js,css加载...