<html>
<body>
<%
String books[] = {"terry","essen","charles"};
for(String book:books){
out.write(book); } %>
</body>
</html>这就是一个最简单的JSP文件,但是非常奇怪,tomcat竟然无法编译,tomcat可以把这个JSP文件翻译成.java文件,但是把.java文件编译成字节码文件时出错,现在可以确定是无法来识别for(String book:books)的新特性,但是我感觉很不理解,为什么?
我的JDK版本是1.5,我写的servlet里用for(String book:books)自已翻译也没有任何问题,为什么JSP就无法使用新特性呢?麻烦大家帮下忙了
<body>
<%
String books[] = {"terry","essen","charles"};
for(String book:books){
out.write(book); } %>
</body>
</html>这就是一个最简单的JSP文件,但是非常奇怪,tomcat竟然无法编译,tomcat可以把这个JSP文件翻译成.java文件,但是把.java文件编译成字节码文件时出错,现在可以确定是无法来识别for(String book:books)的新特性,但是我感觉很不理解,为什么?
我的JDK版本是1.5,我写的servlet里用for(String book:books)自已翻译也没有任何问题,为什么JSP就无法使用新特性呢?麻烦大家帮下忙了
解决方案 »
- 修改数据库 可有一列本来是有值 当我修改就为空了是怎么回事?
- 数据库查询的奇怪错误,附代码,请教大侠们。。。
- 菜鸟问题,大家帮帮忙
- 一个奇怪的问题,急,帮我解决啊!
- 如何在一个项目中获得网站的根目录路径?
- org.apache.jasper.JasperException
- 我已计穷,请各位帮忙!
- upload问题????????
- 请问在Linux中安装JDK后,JAVA_HOME到底是/usr/java/j2sdk1.4.1-01呢?还是/usr/java呢?我想试配JSP,可我装了tomcat和resin,都不能成
- 请问脚本语言 解析器的工作原理?
- sping框架导致事务失效,请教原因
- hibernate annotation 怎么申明主键自动增长?sqlserver数据库
把错误的 for each 该为 1.5的环境
1 你开发阶段用的jdk是1.5的版本,所以编译的很好,你就不会发现什么错误。
2 你把你的工程交给tomcat去部署,交给tomcat的时候是一个jsp文件(对于页面来说),tomcat先把这个文件解析成java文件,其实这一步没有错。
3 tomcat要把解析到的java文件编译成class文件,这里tomcat会用自己的jdk去编译,结果发现自己的jdk是1.4(或者更低的),他就不会解析for循环1.5里面的特性了!所以报错了!
总的来说:你用Eclips开发用的jdk和你运行web工程用的jdk不是一个,所以导致了这个问题!
好多时候,我们开发的项目在实验室测试的很好,拿到了现场就跑不起来,也是应为现场的WebServer的jdk版本太低的原因
在安装前需先安装jdk,在安装时需指定jdk的安装目录
环境变量path:jdk\bin javac.exe目录JAVA_HOME:jdk安装目录TOMCAT_HOME:tomcat安装路径classpath:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib (java类加载路径)2.与MyEclipse工具一起使用:(配置)
观看视屏文件配置TomcatV1.0.swf
3.在快捷键第一行第9列加入项目-10列开启服务-11列用浏览器打开4.tomcat的用法
(1)手动发布项目
把项目copy到comcat安装目录webapps目录下面
(2)手动开启服务 与 关闭
在bin目录下面执行批处理文件startup.bat 与 shutdown.bat(或者执行catalina.bat文件)
(3)手动修改端口号
在conf目录下面修改server.xml文件里面的<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" /> 8080为端口号直接修改保存即可5.常报的错误号。
500 应用程序出错
404 找不到文件
403 不许访问6.在dos下错误一闪而过可以这样查看错误结果:
先执行: catalina.bat
然后执行: run7.安装纯净的eclipse,需要安装tomcat,lomboz与emf插件
分别解压到eclipse的安装目录
1 你开发阶段用的jdk是1.5的版本,所以编译的很好,你就不会发现什么错误。
2 你把你的工程交给tomcat去部署,交给tomcat的时候是一个jsp文件(对于页面来说),tomcat先把这个文件解析成java文件,其实这一步没有错。
3 tomcat要把解析到的java文件编译成class文件,这里tomcat会用自己的jdk去编译,结果发现自己的jdk是1.4(或者更低的),他就不会解析for循环1.5里面的特性了!所以报错了!
总的来说:你用Eclips开发用的jdk和你运行web工程用的jdk不是一个,所以导致了这个问题!
好多时候,我们开发的项目在实验室测试的很好,拿到了现场就跑不起来,也是应为现场的WebServer的jdk版本太低的原因嗯,就是这原因
我不理解,tomcat自身就带有某一版本的JDK和JRE吗,在哪里可以看出来?既然如此那么为什么在安装tomcat之前还必须要安装JDK呢?