`

发布3(tomcat的执行流程和各个文件夹的作用)

阅读更多
    第一次出现这样的错误的时候,我很害怕,不知道是神马原因造成的这样的错误。后来问了同事,说是可能是因为tomcat缓存的问题。管它呢,死马当活马医吧!
     因为是在linux环境下操作的,所以使用linux命令简单明了快捷神速,大大提高了工作效率!
     第一步:先停止tomcat服务器。
             可使用ps –ef | grep tomcat 命令来查看tomcat服务进程是否已停止。
             在shell端输入service tomcat stop 命令停止tomcat 服务。
     第二步:将系统缓存清除 即删除 tomcat/work 文件夹下的文件。
     第三步:打开shell 输入 service tomcat start。

HTTP Status 500 -
________________________________________
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.io.FileNotFoundException: /usr/local/tomcat/work/Catalina/scm.3golden.com.cn/_/org/apache/jsp/front/warehousing/getWarehousing_jsp.java (Permission denied)
java.io.FileOutputStream.open(Native Method)
java.io.FileOutputStream.<init>(FileOutputStream.java:179)
java.io.FileOutputStream.<init>(FileOutputStream.java:70)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:141)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
filters.SecurityFilter.doFilter(SecurityFilter.java:95)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
________________________________________
Apache Tomcat/5.5.26

   好了,不仅要知其然,还要知其所以然哈!出现这种错误的原因是因为修改了应用之后,没有重启tomcat服务器,所以系统缓存里面存放的只是以前tomcat编译过的文件。解释一下编译的文件是怎么产生的哈,有必要先了解一下tomcat的执行流程哈。
tomcat的执行流程:
tomcat文件夹的作用

        1.用户在浏览器中输入请求地址;

        2.客户端通过浏览器将请求地址发送给WEB容器;

        3.WEB容器根据请求地址找到*.jsp文件;

        4.将*.jsp文件转换成*.java文件;

        5.将*.java文件经过编译成*.class文件;

        6.服务器执行*.class文件并将结果反馈给浏览器。



tomcat文件夹的作用
 
tomcat的主目录文件夹有以下几个:

          1. bin:用于存放启动和关闭tomcat的可执行文件。

          2. lib:里面存放需要的jar包。

          3. conf:tomcat的各种配置文件,tomcat启动时需要读取的配置文件主要有:

                   server.xml,web.xml,tomcat-users.xml等等。服务器的修改都要从此目录中进行。

          4. logs:日志文件,如果服务器出现错误,会自动记录。

          5. server:服务器的管理程序。

          6. webapps:所有的可执行的web项目都会放到此目录中。

          7. work:tomcat把各种由jsp生成的servlet都放在了这个文件夹下,里面包含.java文件

                   和.class文件。

       

配置一个虚拟目录:

         1.要配置一个虚拟目录必须有以下的目录结构:

           WEB ROOT--->这是web根目录,可任意定义,一般的可执行.jsp文件都放在此文件夹中。   

               | WEB-INF ---> 虚拟目录必须有此文件夹,格式要求。

                   | web.xml 虚拟目录的配置文件。

       2.虚拟目录中的web.xml文件可以在文件夹webapps->ROOT->WEB-INF->web.xml找到。

        3.要想让tomcat启动时找到虚拟目录,需要在conf文件夹下的server.xml中进行配置。

          <Context path="/demo" docBase="D:\xnml"/>    此句必须写在</host>之上;

                 Context:表示配置一个新的上下文;

                 path:浏览器的输入路径,注意必须有 “/”;

                 docBase:path路径对应着硬盘上的真实目录;xnml文件夹也是web根目录;

        4.在conf文件夹中的web.xml文件中,ctrl+F 搜索list到

              <init-param>
                  <param-name>listings</param-name>
                  <param-value>true</param-value>
             </init-param>

          有的时候为false,改成true,意思是tomcat在加载时将目录列表功能打开,我们才可以访问虚

          拟目录中的文件;

        5.在D:\xnml下写个.jsp文件;

        6.在浏览器中输入:http://localhost:8080/demo  tomcat启动时会执行配置文件进而执行.jsp文

          件。


  • 大小: 19.5 KB
分享到:
评论

相关推荐

    Tomcat5启动流程与配置详解 .

    ### Tomcat5启动流程与配置详解 #### 一、Tomcat5.0目录结构 Tomcat作为一款广泛使用的...以上是关于Tomcat5启动流程与配置的基本介绍,对于初学者来说,了解这些内容有助于更好地掌握Tomcat的使用技巧和配置方法。

    apache-tomcat-8.0.24-windows-x64.zip【最新tomcat服务器,windows 64位版】

    2. **conf** 目录:存储Tomcat的配置文件,如`server.xml`(定义服务器的全局配置)、`web.xml`(全局Web应用配置)和各个应用的`context.xml`。 3. **lib** 目录:存放Tomcat运行所需的JAR库,包括Servlet和JSP的...

    《tomcat web开发及整合应用》

    此外,还可能涉及Spring、Hibernate等框架与Tomcat的集成,以及Maven或Gradle等构建工具的使用,它们可以帮助我们管理和构建复杂的依赖关系,简化开发流程。 总之,《Tomcat Web开发及整合应用》这本书将引领读者...

    HowTomcatWorks-master.zip

    接着,Catalina创建并启动各个组件,如引擎(Engine)、主机(Host)和上下文(Context),这些是部署Web应用的地方。 3. **请求处理** 当一个HTTP请求到达时,Coyote接收到请求,将其转化为内部表示,并传递给...

    jsp sql tomcat网上书店

    此文档可能是项目的设计论文或报告,详细阐述了系统的设计思路、实现过程、遇到的问题及解决方案,对于理解整个系统的架构和流程非常有帮助。 **"bookstore"** 这个文件可能是网上书店系统的主要源代码或资源文件夹...

    Tomcat上部署SolrCloud.txt

    1. **Zookeeper集群搭建**:Zookeeper是SolrCloud的重要组件之一,用于协调和管理SolrCloud集群中的各个节点。搭建一个至少包含三个节点的Zookeeper集群是必要的。 2. **Tomcat安装配置**:在每台SolrCloud节点机器...

    tomcat源码分析

    本文将深入分析Tomcat的部分源码,重点介绍其生命周期管理机制、资源管理和启动流程等关键部分。 #### 二、核心概念与设计模式 ##### 2.1 生命周期支持(Lifecycle Support) - **定义**:`LifecycleSupport` 是...

    Avaya Aura Orchestration Designer 中文版安装配置手册

    5. **发布和部署**:调试完成后,IVR流程可以被发布为一个可执行的包,然后部署到实际的呼叫中心环境中。这通常涉及将流程打包并上传至运行Tomcat的服务器,配置好相关参数,使其能在呼叫中心系统中正常运行。 ...

    自定义流程

    自定义流程是一套完整的流程管理方法,它允许企业或组织根据自身的业务特点和需求,设计、实施、监控和改进工作流程。自定义流程在现代企业中广泛使用,尤其是在项目管理、业务流程管理(BPM)以及工作流程自动化等...

    mysql快捷工具

    下面将详细介绍这个压缩包文件中的各个组成部分及其在MySQL工作流程中的作用。 1. **tomcat-startup.bat**: 这个批处理文件是用于启动Apache Tomcat服务器的。Tomcat是一个流行的开源Java应用服务器,常用于部署...

    linux部署分布式微服务架构.docx

    5. **部署upms项目**:部署流程与“aus”项目类似,但需要注意在同一台服务器上部署多个`tomcat`实例时,必须确保每个实例的启动端口和关闭端口是唯一的,避免端口冲突。 通过以上步骤,可以顺利完成基于Linux的...

    Activiti6.0教程例子下载

    5. Execution:执行计划,流程实例和流程执行中的所有节点都是Execution,如UserTask、ServiceTask等。 2.2.2. 服务接口 1. ProcessEngine:流程引擎的抽象,通过它我们可以获得我们需要的一切服务。 2. ...

    人力资源管理系统

    3. 解析数据库脚本文件,使用合适的数据库(如MySQL、Oracle等)执行SQL语句,创建相应的表结构并填充初始数据。 4. 将“企业人力资源管理系统”目录复制到Tomcat的webapps目录下,或者打包成WAR文件并部署到Tomcat...

    Primeton EOS 5_3产品安装指南.pdf

    - **EOS安装目录说明**:描述安装后各个文件夹的作用。 - **集群环境搭建**:介绍如何在不同环境下搭建集群。 - **WebSphere目录结构说明**:描述WebSphere安装后的文件夹结构。 - **FAQ**:常见问题解答。 - **术语...

    hudson+ant配置详细教程PPT

    在现代软件开发流程中,持续集成(CI)已经成为提高软件质量和开发效率的关键技术之一。Hudson(现更名为Jenkins)作为一款开源的持续集成工具,凭借其强大的功能和丰富的插件支持,在CI领域占据了重要的位置。而Ant...

    刘皇书城.rar

    5. **系统调用流程图.doc**:这是一个详细描述系统操作步骤的文档,通常包括各个模块间的交互流程,帮助开发者理解代码逻辑和功能实现过程。 6. **项目说明.ppt**:可能是一个PowerPoint演示文稿,提供了项目概览、...

    servlet工程

    本文将深入探讨Servlet工程的各个方面,包括其工作原理、部署过程以及如何在Tomcat服务器上运行。 Servlet是Java Servlet API的一部分,它是一个接口,定义了Web服务器如何与Java类交互来处理HTTP请求。Servlet容器...

    学生信息管理系统(源码+数据库+构架文档) jsp web+MySQL 满足增删改查

    通过这个项目,学生可以学习到如何设计和实现一个简单的Web应用,如何用JSP编写动态页面,如何使用MySQL来存储和管理数据,以及如何编写和执行SQL语句进行数据操作。此外,构架文档能帮助他们理解软件工程中的设计...

Global site tag (gtag.js) - Google Analytics