今天同事遇到一个很奇怪的问题, 在Eclipse中编辑过的jsp,发布在tomcat中不再编译,仍然显示未修改前的内容.
最后我试着让他重新部署,问题依然存在. 我想一定是jsp没有编译的原因,最后让他把tomcat目录中下work目录下的文件夹都删除,问题得以解决!
(一):目录结构
tomcat的目录结构如下:
目录名 | 简介 |
bin | 存放启动和关闭tomcat脚本 |
conf | 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml |
work | 存放jsp编译后产生的class文件 |
webapp | 存放应用程序示例,以后你要部署的应用程序也要放到此目录 |
logs | 存放日志文件 |
lib/japser/common | 这三个目录主要存放tomcat所需的jar文件 |
(二):server.xml配置简介
下面我们将讲述这个文件中的基本配置信息,更具体的配置信息见tomcat的文档
元素名 | 属性 | 解释 |
server | port | 指定一个端口,这个端口负责监听关闭tomcat的请求 |
shutdown | 指定向端口发送的命令字符串 |
service | name | 指定service的名字 |
Connector (表示客户端和service之间的连接) | port | 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求 |
minProcessors | 服务器启动时创建的处理请求的线程数 |
maxProcessors | 最大可以创建的处理请求的线程数 |
enableLookups | 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址 |
redirectPort | 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 |
acceptCount | 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理 |
connectionTimeout | 指定超时的时间数(以毫秒为单位) |
Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求) | defaultHost | 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的 |
Context (表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范) | docBase | 应用程序的路径或者是WAR文件存放的路径 |
path | 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/**** |
reloadable | 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序 |
host (表示一个虚拟主机) | name | 指定主机名 |
appBase | 应用程序基本目录,即存放应用程序的目录 |
unpackWARs | 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序 |
Logger (表示日志,调试和错误信息) | className | 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口 |
prefix | 指定log文件的前缀 |
suffix | 指定log文件的后缀 |
timestamp | 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt |
Realm (表示存放用户名,密码及role的数据库) | className | 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口 |
Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样) | className | 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息 |
directory | 指定log文件存放的位置 |
pattern | 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多 |
分享到:
相关推荐
【标题】"Tomcat的JSP编译参数" 在Java Web开发中,Tomcat服务器扮演着重要的角色,尤其是对于处理JSP(JavaServer Pages)页面。JSP是一种动态网页技术,它允许开发者将HTML代码与Java代码混合编写,从而实现动态...
编译源码时,会用到`ecj.jar`,这是Eclipse Java Compiler的jar包,用于编译JSP文件。 6. **其他依赖库**:Tomcat源码中还包括了其他一些必要的库,如`servlet-api.jar`、`jsp-api.jar`等,这些都是Java Web应用的...
6. **自定义与优化**:通过编译源码,开发者可以根据需求修改源代码,例如提高性能、添加特定功能或修复已知问题,然后重新编译生成自定义版本的Tomcat6。 7. **注意事项**:编译过程中可能会遇到依赖库缺失、版本...
在编译Tomcat时,通常会依赖于servlet-api.jar和jsp-api.jar这两个文件,它们通常位于Tomcat的lib目录下。 五、Apache Tomcat Native Library 为了提高性能,Tomcat提供了一个原生库(Tomcat Native),它允许...
2. **目录结构**:Tomcat的源码目录通常包含`conf`(配置文件)、`webapps`(Web应用部署目录)、`work`(编译JSP后的临时文件)、`logs`(日志文件)等关键部分。 3. **生命周期管理**:Tomcat对Web应用程序和...
但如果你想修改JSP版本或者配置JSP的编译选项,可以在Tomcat的conf目录下的`web.xml`文件中找到相关的servlet配置。 **四、部署JSP应用** 1. 创建Web应用目录结构:在Tomcat的webapps目录下创建一个新的文件夹,...
【手工编译jsp】是一个关于Java Web开发中的特殊主题,主要涉及如何在没有使用Web容器(如Tomcat、Jetty等)的情况下,直接对JSP(JavaServer Pages)页面进行预编译为Java类的过程。这个过程对于理解JSP的工作原理...
在进行Tomcat源码编译时,我们可能会遇到各种依赖问题,特别是在Eclipse这样的集成开发环境中。对于"tomcat7.0.19源码导入Eclipse后,编译缺少的jar包"这个问题,我们需要深入理解Tomcat的构建过程、源码结构以及...
总结,"jsp.rar_JSP TOMCAT SQL_jsp sql_jsp sql tomcat_tomcat server jsp_"这个项目涵盖了JSP动态网页技术、Tomcat服务器的使用、SQL Server数据库的管理和JSP与SQL的交互等多个关键知识点,是一个综合性的Web应用...
深入理解并编译Tomcat源码,对于Java开发者来说,不仅能够提升对Web容器工作原理的认识,还能帮助优化性能,解决复杂的技术问题。 首先,我们来了解一下Tomcat源码编译的基础步骤: 1. **获取源码**:Tomcat的源码...
总的来说,将JSP编译打包成jar是一个将静态的JSP文件转换为可执行的Servlet代码,并利用构建工具Ant完成打包的过程,这样可以方便地在不支持JSP的环境中运行和部署。这个过程涉及到JSP、Servlet、Ant构建工具以及web...
Tomcat作为JSP容器,能够编译JSP文件为Servlet,然后执行这些Servlet来生成动态内容。 “标签”中提到了“tomcat6.0”、“JSP”和“测试”,这进一步强调了这个压缩包的重点内容。Tomcat 6.0是Tomcat的一个版本,...
在Tomcat中,JSP文件被编译成Servlet,然后执行生成动态内容。JSP使得开发者能够将表现层和业务逻辑分离,提高代码的可维护性和复用性。 4. 集成与应用:在实际开发中,开发者通常会在JSP页面中编写HTML结构,然后...
6. **jasper-compiler.jar**和**jasper-runtime.jar**:Apache Tomcat服务器的Jasper引擎用于编译JSP页面到Java servlet。这两个jar包包含了编译和执行JSP的必要组件。 7. **javassist.jar**:在某些情况下,如...
### IntelliJ IDEA集成Tomcat知识点详解 #### 一、概述 IntelliJ IDEA 是一款非常流行的Java集成开发环境(IDE),广泛应用于Java应用开发之中。它提供了丰富的功能支持开发者高效地编写代码、调试程序以及管理...
### Tomcat+JSP+MySQL 经典配置实例详解 #### 一、环境搭建与配置 在本章节中,我们将详细介绍如何配置一个基于Tomcat、JSP和MySQL的经典开发环境。这种组合是Java Web开发中非常常见的配置之一,能够帮助开发者...
- **兼容性**:确保项目使用的JSP API版本与Tomcat服务器兼容,避免版本不一致导致的问题。 #### 实际应用场景 假设你正在开发一个基于Maven的Java Web应用,想要利用Tomcat作为Servlet容器来运行JSP页面。在这种...