假设有一web项目,其项目名称为web-demo,对应的tomcat context为/web-demo,则该web项目发布到tomcat的webapps下之后,则访问http://localhost:8080/web-demo,即可出现该项目的首页。但是,通常我们会配置一个tomcat的默认应用或者虚拟主机之类的东西,可使用户快速访问web-demo。
众所周知,tomcat的虚拟主机配置、默认应用配置都可以通过配置conf文件夹下的server.xml配置文件实现,该文件参数的具体规格请参考server.xml的配置规范,我们关注的下表所示的内容,可修改此处配置虚拟主机,tomcat默认应用,比如下表所示看起来web-demo已经是demo的默认应用了。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<Context path="" docBase="web-demo" debug="0" reloadable="true" crossContext="true"/>
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host>
|
而且,网上介绍tomcat的默认应用基本上也都是如此设置,增加一个<Context path="" docBase="web-demo" debug="0" reloadable="true" crossContext="true"/>。但是这样设置其实是有问题的。
如此一来,tomcat其实加载了2个应用,一个是context path=””的web-demo应用,而另一个是context path=”web-demo”的应用,虽然两者指向的物理路径一致。因此,访问http://localhost:8080, 访问http://localhost:8080/web-demo,得到的是相同的首页,但是其实是tomcat的2个context的response。
那么,该如何更好地设置tomcat默认应用呢。
1)还是添加<Context path="" docBase="web-demo" debug="0" reloadable="true" crossContext="true"/>,但是docBase请修改成tomcat的webapps目录之外的目录。
2)修改tomcat ROOT目录的index.jsp,使其加载默认应用的首页,如此处应修改成如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<meta http-equiv="refresh" content="0;URL=<%=request.getContextPath()%>/web-demo/index.html">
</head>
<body>
</body>
</html>
|
分享到:
相关推荐
首先,我们来谈谈Tomcat的乱码问题。在Web应用开发中,乱码常常是由于字符集不匹配造成的。Tomcat作为Apache软件基金会的一个开源Java Servlet容器,处理HTTP请求和响应时,如果字符编码设置不正确,就可能出现乱码...
接下来,我们来谈谈Tomcat6的安装与配置。在Windows系统中,可以通过下载Tomcat6的zip文件进行解压,然后将解压后的目录设置到环境变量PATH中。在Linux或Unix系统中,可以将解压后的目录移动到指定的服务器路径,如/...
接下来,我们谈谈反射技术在Tomcat中的应用。反射是Java语言的一大特性,允许运行时动态访问类的信息,包括类名、方法名、参数类型等,并可以调用这些方法。在Tomcat中,反射主要用于动态加载Web应用程序的类,比如...
- 访问Web浏览器,输入`http://localhost:8080`,如果看到Tomcat默认页面,说明安装成功。 此外,对于生产环境,还需要考虑安全配置、日志管理、用户权限控制等。例如,修改`conf/tomcat-users.xml`添加管理角色和...
填写项目名,选择目标运行环境(即配置好的Tomcat服务器),并确认其他默认设置。项目创建完毕后,可以编写Servlet、JSP等Web组件,并通过右键点击项目 -> Run As -> Run on Server来运行项目,观察Tomcat是否能正常...
Tomcat默认使用`catalina.out`文件记录所有标准输出和错误输出。然而,这种简单的日志方式往往不足以满足复杂的日志需求,如分类记录、滚动日志、级别控制等。这时,我们就需要对Tomcat的日志配置进行定制。 日志...
2. **webapps**:这是默认的Web应用程序部署目录,将你的WAR文件(Web应用程序归档文件)或者整个Web应用目录放在这里,Tomcat会自动解压并部署。 3. **logs**:服务器的日志文件会被保存在这个目录下,这对于调试...
在完成上述步骤后,你可以通过运行`java -version`和`javac -version`命令来验证Java环境是否配置成功,再通过启动Tomcat并访问默认的欢迎页面(如`http://localhost:8080/`)来确认Tomcat是否正常工作。 文档中...
接着,我们来谈谈Tomcat 5.5,这是一个广泛使用的开源Servlet容器,用于部署和运行Java Web应用程序。要将SuggestFramework-0.31部署到Tomcat,你需要在Eclipse中配置Tomcat服务器。这可以通过"Window" -> ...
接下来,我们来谈谈Tomcat。Tomcat是Apache软件基金会的一个开源项目,它是一个轻量级的Java Servlet容器,用于部署和运行Java Web应用程序。在Linux上安装和配置Tomcat的过程如下: 1. **获取Tomcat**:从Apache ...
最后,我们关注AXIS在Tomcat上的应用。AXIS是Apache软件基金会开发的Web服务框架,用于创建和部署Web Services。在Eclipse中,可以将axis2.war部署到Tomcat 5.5.17服务器上。war文件解压后的\WEB-INF目录中的内容应...
至于中文乱码问题,Spring Boot默认使用UTF-8编码。如果在处理HTTP请求时遇到乱码,可能需要在`application.properties`或`application.yml`中设置字符编码。例如: ```properties server.tomcat.uri-encoding=UTF-...
它内置了 Tomcat 服务器和默认配置,使得项目可以直接运行,无需额外配置。此外,Spring Boot 对 Spring Cloud 等微服务生态系统的支持使得它成为微服务开发的理想选择。在微服务架构中,每个服务都是独立的,Spring...
**问题一:谈谈你对Spring IOC和DI的理解,它们有什么区别?** - **IOC(Inversion of Control,控制反转)**: 是一种设计思想,用来降低代码之间的耦合度。在Spring框架中,通过依赖注入的方式实现了IOC。也就是说...
例如,当你需要长时间运行像Tomcat这样的Java应用服务器时,通常不希望看到与其相关的命令行窗口,RunHiddenConsole就能解决这个问题。 接下来,我们谈谈**Nginx**。Nginx是一个高性能的HTTP和反向代理服务器,广泛...
1. 内嵌式容器:默认集成了 Tomcat 或其他 Web 容器,无需额外安装。 2. 自动配置:根据项目依赖自动配置 Spring 配置,减少了手动配置的工作量。 3. 简化的 Starter:通过引入特定的 Starter POM,可以快速添加所需...
它默认配置了许多常见的设置,如Tomcat内嵌服务器、日志处理和JPA数据源等,使得开发者可以更快地启动新项目。在本项目中,我们首先需要创建一个SpringBoot工程,然后通过`spring-boot-starter-web`依赖来引入Web...
将下载的`dubbo-admin.war`文件放入Tomcat的webapps目录下,容器会自动解压并启动应用。 2. **配置连接**:在启动Dubbo-admin后,需要配置它连接到Zookeeper(或Apollo等配置中心)以获取服务注册信息。这通常通过...
SpringBoot通过默认配置,使得开发者可以快速创建独立的、生产级别的基于Spring的应用程序。其核心特性包括自动配置、内嵌的HTTP服务器(如Tomcat或Jetty)、健康检查和应用信息,以及对各种常用技术的集成,如JPA、...