tomcat编译jsp之后生成的Servlet书上说放在tomcat7\work\Catalina\localhost文件里,可是我找不到

本文解答了Tomcat中JSP文件编译后生成的Servlet文件存放位置问题,通常这些文件会被放置在特定的工作目录下,但在使用Eclipse集成开发环境时,这些文件可能位于.workspace.metadata目录内。

tomcat编译jsp之后生成的Servlet书上说放在tomcat7\work\Catalina\localhost文件里,可是我找不到

2011-07-31 18:40 everythingddd  |  分类:其他编程语言  |  浏览3908次
tomcat编译jsp之后生成的Servlet书上说放在tomcat7\work\Catalina\localhost文件里,可是我找不到,,我的工程也找不到啊  我编译成功了 在Eclipse里也可以成功运行,浏览器里也可以访问 但是在那个文件夹下却没有我想找的编译后的Servlet文件,这是怎么回事
2011-07-31 18:54 提问者采纳
你的tomcat是不是配置在Eclipse的server中了?如果是的话,在Eclipse中运行tomcat后,工程的的jsp文件被编译成servlet文件后,不是放在tomcat中,而是放在Eclipse的workspace目录的.metadata目录下,你可以进入这个目录,然后搜索文件,搜索关键字填写“*_jsp.java”,然后搜索。
   我的工程中的JSP文件被编译后就放在workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\路径下。希望对你有帮助。
追问
这里面也没找到啊,,你说的配置在Eclipse中是什么意思?我的Tomcat7.0是绿色版,然后修改的配置文件  好奇怪,都找不到,
回答
你进入Eclipse存放你工程的workspace目录下,进行搜索,关键字填写 *_jsp.java ,看看是否有结果查询出。
提问者评价
没有找到 不过我把那个tomcat删掉 重新弄了一个,重新配置之后就可以了,呵呵,,
评论(5)  |  17  0
按默认排序 | 按时间排序

其他1条回答

2011-07-31 19:28 shitou51920  | 四级
书上说的没错。确实是在 work\Catalina\localhost\你的工程\org\apache\ 下,每一个JSP文件都被编译为Servlet文件,否则没法运行,比如index.jsp ,编译后会在在 work\Catalina\localhost\工程\org\apache\ 下会多出index_jsp.java  和 index_jsp.class这两个文件,这个XXX_jsp.java文件就是XXX.jsp所对应的Servlet 文件。很多时候我们调试JSP 的错误就靠这个JSP被编译后对应Servlet文件,编译后的Servlet文件很重要。当你的工程文件大儿复杂的时候,对应的Servlet文件就会起到不可忽略的作用。
你没找到这个文件,估计问题有以下几个:
1.当你部署好项目后,但是没运行,这个时候JSP文件时不生成Servlet文件的,等运行以后你才能找到,但是工程文件夹应该是有的。
2.如果你成功运行后还没找到这个文件,这个时候你得好好想想,你机器上的Tomcat是不是只有一个?你很可能找错了Tomcat。如果你用的是Myeclipse的话,在Servers 标签下,找到你的工程,右击-->浏览,就可以精确定位到你用的那个Tomcat下了,只需回退,就可以找到work 目录了。

### Tomcat 中出现 404 错误无法JSP 文件的解决方案 当遇到 `java.lang.ClassNotFoundException` 或者 404 错误时,通常意味着某些必要的类或配置未被正确加载到运行环境中。以下是针对此问题的具体分析和解决方法: #### 1. 检查项目的编译环境 确保开发环境中的 JDK 版本与服务器上的 Java 运行时版本一致。如果使用的是较新的 JDK 而目标服务器上安装了旧版 JVM,则可能导致兼容性问题[^4]。 #### 2. 验证 Jasper 编译器设置 Tomcat 使用内置的 Jasper 编译器来动态转换并执行 `.jsp` 页面。如果这些页面未能成功预编译成对应的 Servlet文件(如 `rest_jsp.class`),就会抛出不到指定类异常。可以尝试清理工作目录 `/work/Catalina/localhost/[app-name]/org/apache/jsp/` 下的内容后再重启应用以强制重新生成所需的字节码文件[^1]。 #### 3. 修改 web.xml 和其他配置项 有时由于框架集成不当或者自定义拦截器的存在,可能阻止了对特定资源路径的有效访问。确认是否有任何过滤器规则意外屏蔽掉了 .jsp 请求;另外查看是否存在多余的 welcome-file-list 定义干扰默认首页展示逻辑[^2]。 #### 4. 更新依赖库至最新稳定版本 过期或冲突的第三方 jar 包也可能引发此类错误消息。特别是涉及到 XML 处理方面的组件比如 Xalan 如果缺失其核心实现则会触发类似的 transformer factory configuration errors [^3]. 建议通过 Maven Central Repository 查询官方推荐组合清单从而替换掉潜在有问题的老化模块。 #### 5. 启用详细的日志记录功能 为了更精准定位根本原因所在位置,在 server startup script 添加 `-verbose:class` 参数开启 class loading trace 输出可以帮助我们追踪到底哪些包正在被实际装载以及它们来自何处。此外调整 log level 到 DEBUG 层级以便捕获更多上下文线索信息用于后续排查过程之中。 ```bash JAVA_OPTS="$JAVA_OPTS -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl" export JAVA_OPTS ``` 以上措施综合运用应该能够有效缓解乃至彻底消除上述提到的各种棘手状况的发生几率。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值