zoukankan      html  css  js  c++  java
  • jsp 的 字节码文件位置【转】

    D:workbase0822.metadata.pluginsorg.eclipse.wst.server.core mp0workCatalinalocalhost\_orgapachejspjspctripwithbao

    大家都知道,JSP在请求的时候,会先转化成Servlet(其实就是个java类),然后生成class文件,再提供服务。

    那么生成的java、class文件在哪呢?Eclipse中根本找不到呀!

      首先应该了解的是Tomcat在Eclipse的映射关系,参考前一篇博文所述:Tomcat的服务器目录配置

      可以了解到,Tomcat在Eclipse中提供了三种位置配置选项:

      1 Use workspace metadata

      2 Use Tomcat installation

      3 Use custom location

      分别对应三种情况说一下,注意要把Server中发布的目录全部删除,然后clean后才能修改该配置项。

      如果你在Eclipse中双击Server配置选项,在Server Location中分别选了如下的选项:

      如果Server Locations选择了第一项Use workspace metadata

      选了上面这项,你的服务器目录和发布目录将会如下:

      服务器目录,即生成的字节码和java文件所在的目录。它在你的eclipse的工作目录中,比如我的工作目录是在F://workspace,那么在该目录下就可以看到这个.metadata目录了。

      参考上面的配置目录F:workspace.metadata.pluginsorg.eclipse.wst.server.core mp0

      这就是Tomcat映射的目录,在这个目录中有一个work目录和一个wtpwebapps目录

      work目录中顺着:workCatalinalocalhost项目名字orgapachejsp 就可以找到你的项目对应的java文件和class文件(注意要访问jsp后才会出现!)

      wtpwebapps目录则存放对应的部署资源文件

      如果选择的是第二项,Use Tomcat installation

      如果勾选的use tomcat installation,那么你的tomcat目录将被选定为tomcat所安装的目录。

      还是推荐选择这个吧,毕竟好找一点。

      如果勾选第三项,Use custom location

      目录的结构与上面的类似,上面这两个都是不可以修改的,要么是workspace所在的目录,要么是tomcat的目录。

      选择该项,可以自定义生成的空间。

      另外说一点,JSP的生命周期

      这是老生常谈的问题了,用户把工程部署到tomcat中,然后启动tomcat!此时就可以访问jsp了、

      1 第一次访问JSP,会验证一下是否第一次访问,然后把JSP转化成java(Servlet),再编译成class文件。

      2 生成的class文件中会自动生成几个方法:jspInit()、jspDestroy()、jspService().Tomcat仅仅在第一次请求时,调用jspInit方法,然后调用jspService进行处理。

      3 之后的每个请求,都会分配一个线程调用jspService方法。

      4 如果页面被销毁或者关闭,都会调用jspDestroy

      由于该文件是常驻内存的,又是多线程调用,所以访问的效率和速度都会很快。

      按照前面所述的方法,就可以看到生成的文件结构了。

      为了展示,这里给出一个样例的JSP

     View Code

      里面含有一些注释,变量声明和打印输出等等。

      在生成.java文件中,可以看到生成的java文件:

     View Code

      声明注释,都可以很详细的看到。

  • 相关阅读:
    php输出UTF8格式XML文件中文乱码问题(含asp,asp.net,jsp代码)
    如何取得C# 的函数调用关系
    ZYSocketSuper 2.0 SP1 包含案例 聊天室 示例下载。
    VS2008制作安装程序
    Linq动态条件处理方法
    c#生成Excel,可建立sheet,设定sheet名称,调整列宽度
    vs2005和 vs2008 预编译的做法
    预览文章: Flex与.NET基于Socket的网络连接
    直接执行查询和命令(LINQ TO SQL)
    Fms教程7 理解共享对象
  • 原文地址:https://www.cnblogs.com/flord/p/5868200.html
Copyright © 2011-2022 走看看