Tomcat配置 JSP执行流程分析 Tomcat内存调优策略

本文详细介绍Tomcat的下载、配置过程,包括虚拟目录设置、首个JSP程序编写及执行流程解析,同时深入探讨Tomcat内存调优策略,助力开发者高效运行与优化Web项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Tomcat下载与配置

配置Tomcat服务器

虚拟目录

第一个JSP程序

JSP执行流程分析

Tomcat内存调优策略


Tomcat下载与配置

要想进行项目的开发,核心在于web容器,也就是说必须要有web容器后才能进行项目的运行。所有的JSP的程序代码只需要放到web容器之中就可以自动执行了。

如果需要web容器可以使用一些免费的,例如:Tomcat、resin。在www.apache.org上下载。下载Tomcat 9 ,选用zip版。

配置Tomcat服务器

解压缩后得到如下目录:

  • bin:所有可执行的程序路径;
  • conf:所有的配置文件目录;
  • lib:保存第三方*.jar文件,CLASSPATH之一
  • logs:所有的日志保存目录,项目发布之后观察错误就必须看日志
  • weapps:项目的热部署目录,一个web项目放在此目录之中就可以直接执行了
  • work:临时的生成文件目录,可以随意清空。

启动使用“D:\apache-tomcat-9.0.35\bin\startup.bat”命令即可。使用前要配置好JAVA_HEOME才能启动。

启动成功。

虚拟目录

如果要进行web项目的开发,一定需要一个或者多个目录保存开发源代码,这样的目录就被称为虚拟目录。

1、现在假设将“D:/myweb”设置为虚拟目录,首先建立文件夹 ; 

2、将其变为合法目录,在这个目录之中保存“WEB-INF/web.xml"文件;

        建议通过Tomcat拷贝此目录,路径:D:\apache-tomcat-9.0.35\webapps\ROOT;

3、让Tomcat知道此目录的存在,修改Tomcat的配置

      配置文件路径:D:\apache-tomcat-9.0.35\conf\server.xml

<Context path="/ren" docBase="d:\myweb"/>

此处表示配置一个新的上下文路径,配置属性如下:

                 path:表示浏览器上的访问路径,例如:当前浏览器的路径:localhost:8080

                      |- 如果要访问该目录的路径为:localhost:8080localhost:8080/ren;

                docBase:表示该虚拟目录对应的真实磁盘目录

4、如果要进行访问,则重新启动Tomcat,Tomcat在重新启动之后才会负责加载新的配置项。

访问如下:

此时返回的是一个HTTP的状态码(404),4XX指的是访问路径出错、5XX指的是程序出错。需要注意的是目录中的列表没有默认打开。

5、如果要想打开目录列表,则需要修改D:\apache-tomcat-9.0.35\conf\web.xml ;

本操作在开发环境下使用的,在项目运行的时候一定要关闭它。

改完之后服务需要再一次启动。

6、如果使用http协议访问,那么默认的端口是80,如果不是80就必须自己输入端口号。如果用户有需求也可以修改,修改路径:D:\apache-tomcat-9.0.35\conf\server.xml ;

第一个JSP程序

所有的JSP文件直接将源代码放到服务器端上执行就可以了,所有JSP文件的后缀必须是*.jsp的文件。

范例:编写JSP的程序

<html>
    <head><title>JSP HELLO</title></head>
    <body>
        <%
            out.println("hello world !") ;
        %>
    </body>
</html>

在程序编写完成之后,可以通WEB目录访问执行,

范例:通过JSP输出HTML 

<html>
    <head><title>JSP HELLO</title></head>
    <body>
        <%
            out.println("<h1>hello world</h1>") ;
        %>
    </body>
</html>

通过以上的程序,可以发现JSP的如下特点:

  • 所有的Java的代码需要通过一些特定的标记嵌入到HTML中
  • JSP的程序可以控制HTML代码或者是JavaScript代码的输出显示,
  • 所有在JSP上的输出实际上都是原始的HTML代码

JSP执行流程分析

当程序第一次执行的时候速度会比较慢,而后的执行速度会相对较快,之所以会出现这样的问题, 通过Tomcat(或者说WebContainer)对于JSP的执行流程,  如下:

操作流程如下:

  • 用户要发送一个访问的请求, 并且将此请求交给webContainer;
  • WebContainer从工作目录中加载所需要的*.jsp文件;
  • 但是所有的Java程序的执行都是依靠*.class文件执行的, 那么此时Tomcat会将*.jsp文件自动转换为*.Java文件,  而后再自动进行编译处理;
  • 而用户最终真正执行的就是*.class文件, 很明显如果是第二次访问该文件已经生成了,  所以速度自然就会得到提升

所有转换的*.java 和 *.class文件都会自动的保存在work目录之中;

Tomcat内存调优策略

 Tomcat的调优策略实际上和JVM的内存调整是一样的, 只需要考虑最大可用内存=可用内存空间即可, 也就是说避免了伸缩区的问题.  但是不同的Tomcat版本针对于调优策略也是有所不同的.

 范例:  取得默认的内存空间

<%
    out.println("<h1> MAX = "+ Runtime.getRuntime().maxMemory() + "["+Runtime.getRuntime().maxMemory() / (double) 1024 / 1024+"]</h1>") ;
    out.println("<h1> TOTAL = "+ Runtime.getRuntime().totalMemory() + "["+Runtime.getRuntime().totalMemory() / (double) 1024 / 1024+"]</h1>") ;
    out.println("<h1> FREE = "+ Runtime.getRuntime().freeMemory() + "["+Runtime.getRuntime().freeMemory() / (double) 1024 / 1024+"]</h1>") ;
%>

此时Tomcat所采用的内存策略就是JVM默认提供好的内存策略.

如果要想调整内存操作, 需要考虑到不同的版本: 

  • Tomcat 8. x : 直接修改:D:\apache-tomcat-9.0.35\bin\catalina.bat, 追加

  • Tomcat 9.x: 只需要注册一个环境属性即可: CATALINA_OPTS    -Xmx1g   -Xms1g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值