- 浏览: 1905807 次
- 性别:
- 来自: 福建莆田@广州
文章分类
最新评论
-
YuLimin:
关于开发者版本费用等问题请见:Have questions? ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
YuLimin:
1、传统WAS : WebSphere Application ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
chenlei65368:
咋加啊,总司令
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
kkllmey:
怎么进呢。留个群号吧。
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
Mr.TianShu:
3792274
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员
Tomcat 7之无需JDK只需JRE与无需web.xm及J2SE 6.0之真实与谎言?
当然首先是确定一下,是真实的,吃个定心丸先,不是谎言:)
下载了Tomcat 7 RC4,解压到 D:\OpenSource\Tomcat\7.0.0-RC4 目录下后
先将 JAVA_HOME 变量清除,如果你原先有设置 JAVA_HOME 变量的话,免得产生干扰
在命令行下,先取消 JAVA_HOME 变量
set JAVA_HOME=
然后设置 JRE_HOME 变量
set JRE_HOME=D:\JRE\1.6.0
再启动,就可以顺利开启了。。。。
cd /d D:\OpenSource\Tomcat\7.0.0-RC4\bin
D:\OpenSource\Tomcat\7.0.0-RC4\bin>startup.bat
当然,也可以顺利地停止
D:\OpenSource\Tomcat\7.0.0-RC4\bin>shutdown.bat
对于习惯性设置 JAVA_HOME 变量的开发者来说,如果仅是将它改为 JRE 所在的路径,想来试试,就会报错。
set JAVA_HOME=D:\JRE\1.6.0
然后 startup.bat 想启动之
cd /d D:\OpenSource\Tomcat\7.0.0-RC4\bin
D:\OpenSource\Tomcat\7.0.0-RC4\bin>startup.bat
嘿嘿,启不来了,呵呵,报告 JAVA_HOME 变量设置不对,应当指向JDK,而不是直接指向 JRE 路径了事
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
可能会有疑问,不是明明文档里说只需要JRE 6.0的吗?
Apache Tomcat 7.0 requires the Java 2 Standard Edition Runtime Environment (JRE) version 6.0 or later.
但是,正如前面设置 JRE_HOME 变量所说的,不信,再翻开文档去看一下,里面说得很清楚是设置 JRE_HOME 变量,当然去看 setclasspath.bat 的脚本的具体内容可能更加能够了解清楚它
Set an environment variable named JRE_HOME to the pathname of the directory into which you installed the JRE
如果直接将 JRE 路径当作 JAVA_HOME,那则是习惯惹得错了,呵呵。不过话说回来,仅是配置 JRE_HOME 的情况比较少;都是设置过 JAVA_HOME 变量,然后 JRE_HOME 自己挂之,然后 PATH 里加上个 .;%JAVA_HOME%\bin 之类的。。。
真实谎言,其实自从 Tomcat 5.5 开始,都说明只需要 JRE 就可以运行了。只不过 Tomcat 5.0 时候还是需要 JDK 1.3 才可以运行的。
由于Tomcat 7必须是J2SE 6以上版本才可以运行,那就试一下J2SE 5,看会有什么情况
set JAVA_HOME=D:\JRE\1.5.0
然后 startup.bat 想启动之
cd /d D:\OpenSource\Tomcat\7.0.0-RC4\bin
D:\OpenSource\Tomcat\7.0.0-RC4\bin>startup.bat
并加上 -verbose 进行跟踪,可以得到如下详细的错误信息
实际上,启动脚本先会认 JAVA_HOME 变量,在找到 JAVA_HOME 的情况下,会将 JAVA_HOME 赋值给 JRE_HOME,如果有定义 JRE_HOME 变量的话,则 JRE_HOME 变量是最优先的,比如,你定义
是运行不起来的。
其实从Tomcat 5.5开始就不通过JDK去编译JSP了,而是通过Eclipse JDT Java编译器来编译JSP文件。
为了后面的试验方便,首先配置个管理用户,编辑 conf\tomcat-users.xml 配置文件,
由于Tomcat 7重新定义了四个不同的角色来管理应用程序,而不是原来单一个manager角色,为此增加了角色为manager-gui的gui_admin用户,密码password
为此,你需要设置不同的角色处理不同的管理内容,具体如下:
manager-gui - allows access to the HTML GUI and the status pages
manager-script - allows access to the text interface and the status pages
manager-jmx - allows access to the JMX proxy and the status pages
manager-status - allows access to the status pages only
这样gui_admin可以访问进行管理
测试一下无需web.xml配置文件来创建一个Web应用程序项目 Tomcat7
通过注解编写一个Servlet,名为 AnnotationServlet.java
如果你用JDK 1.5来编译则会出错
用1.6编译后,直接部署,启动,整个项目就一个 AnnotationServlet.class,启动后照样访问
当然一个Web项目,少了web.xml文件估计也是玩不转的,试一下通过注解与没有注解的Servlet共同工作的场景,创建一个NoneAnnotationServlet.java
并在web.xml里配置之
编译、部署后,都可以正常工作。
蒽哪,很和谐的说。Tomcat还有很多新的Servlet 3.0与Java EE 6规范的特性,慢慢测试之。
当然首先是确定一下,是真实的,吃个定心丸先,不是谎言:)
下载了Tomcat 7 RC4,解压到 D:\OpenSource\Tomcat\7.0.0-RC4 目录下后
先将 JAVA_HOME 变量清除,如果你原先有设置 JAVA_HOME 变量的话,免得产生干扰
在命令行下,先取消 JAVA_HOME 变量
set JAVA_HOME=
然后设置 JRE_HOME 变量
set JRE_HOME=D:\JRE\1.6.0
再启动,就可以顺利开启了。。。。
cd /d D:\OpenSource\Tomcat\7.0.0-RC4\bin
D:\OpenSource\Tomcat\7.0.0-RC4\bin>startup.bat
当然,也可以顺利地停止
D:\OpenSource\Tomcat\7.0.0-RC4\bin>shutdown.bat
对于习惯性设置 JAVA_HOME 变量的开发者来说,如果仅是将它改为 JRE 所在的路径,想来试试,就会报错。
set JAVA_HOME=D:\JRE\1.6.0
然后 startup.bat 想启动之
cd /d D:\OpenSource\Tomcat\7.0.0-RC4\bin
D:\OpenSource\Tomcat\7.0.0-RC4\bin>startup.bat
嘿嘿,启不来了,呵呵,报告 JAVA_HOME 变量设置不对,应当指向JDK,而不是直接指向 JRE 路径了事
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
可能会有疑问,不是明明文档里说只需要JRE 6.0的吗?
Apache Tomcat 7.0 requires the Java 2 Standard Edition Runtime Environment (JRE) version 6.0 or later.
但是,正如前面设置 JRE_HOME 变量所说的,不信,再翻开文档去看一下,里面说得很清楚是设置 JRE_HOME 变量,当然去看 setclasspath.bat 的脚本的具体内容可能更加能够了解清楚它
Set an environment variable named JRE_HOME to the pathname of the directory into which you installed the JRE
如果直接将 JRE 路径当作 JAVA_HOME,那则是习惯惹得错了,呵呵。不过话说回来,仅是配置 JRE_HOME 的情况比较少;都是设置过 JAVA_HOME 变量,然后 JRE_HOME 自己挂之,然后 PATH 里加上个 .;%JAVA_HOME%\bin 之类的。。。
真实谎言,其实自从 Tomcat 5.5 开始,都说明只需要 JRE 就可以运行了。只不过 Tomcat 5.0 时候还是需要 JDK 1.3 才可以运行的。
由于Tomcat 7必须是J2SE 6以上版本才可以运行,那就试一下J2SE 5,看会有什么情况
set JAVA_HOME=D:\JRE\1.5.0
然后 startup.bat 想启动之
cd /d D:\OpenSource\Tomcat\7.0.0-RC4\bin
D:\OpenSource\Tomcat\7.0.0-RC4\bin>startup.bat
并加上 -verbose 进行跟踪,可以得到如下详细的错误信息
[Loaded java.io.IOException from shared objects file] Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) [Loaded java.lang.Shutdown from shared objects file] [Loaded java.lang.Shutdown$Lock from shared objects file]
实际上,启动脚本先会认 JAVA_HOME 变量,在找到 JAVA_HOME 的情况下,会将 JAVA_HOME 赋值给 JRE_HOME,如果有定义 JRE_HOME 变量的话,则 JRE_HOME 变量是最优先的,比如,你定义
JAVA_HOME=D:\JDK\1.6.0 JRE_HOME=D:\JRE\1.5.0
是运行不起来的。
其实从Tomcat 5.5开始就不通过JDK去编译JSP了,而是通过Eclipse JDT Java编译器来编译JSP文件。
为了后面的试验方便,首先配置个管理用户,编辑 conf\tomcat-users.xml 配置文件,
由于Tomcat 7重新定义了四个不同的角色来管理应用程序,而不是原来单一个manager角色,为此增加了角色为manager-gui的gui_admin用户,密码password
<role rolename="manager-gui"/> <user username="gui_admin" password="password" roles="manager-gui"/>
为此,你需要设置不同的角色处理不同的管理内容,具体如下:
manager-gui - allows access to the HTML GUI and the status pages
manager-script - allows access to the text interface and the status pages
manager-jmx - allows access to the JMX proxy and the status pages
manager-status - allows access to the status pages only
这样gui_admin可以访问进行管理
http://localhost:8080/manager/status http://localhost:8080/manager/html
测试一下无需web.xml配置文件来创建一个Web应用程序项目 Tomcat7
通过注解编写一个Servlet,名为 AnnotationServlet.java
@WebServlet("/AnnotationServlet") public class AnnotationServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { PrintWriter out = response.getWriter(); out.println("Annotation Servlet in Tomcat 7"); } } }
如果你用JDK 1.5来编译则会出错
javac -cp D:\OpenSource\Tomcat\7.0.0-RC4\lib\servlet-api.jar *.java AnnotationServlet.java:4: 无法访问 javax.servlet.ServletException 错误的类文件: D:\OpenSource\Tomcat\7.0.0-RC4\lib\servlet-api.jar(javax/servlet/ServletException.class) 类文件具有错误的版本 50.0,应为 49.0 请删除该文件或确保该文件位于正确的类路径子目录中。 import javax.servlet.ServletException; ^ 1 错误
用1.6编译后,直接部署,启动,整个项目就一个 AnnotationServlet.class,启动后照样访问
http://localhost:8080/Tomcat7/AnnotationServlet
当然一个Web项目,少了web.xml文件估计也是玩不转的,试一下通过注解与没有注解的Servlet共同工作的场景,创建一个NoneAnnotationServlet.java
并在web.xml里配置之
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Web Application Tomcat 7 Servlet 3.0 JSP 2.2</display-name> <description>Web Application Tomcat 7 Servlet 3.0 JSP 2.2</description> <servlet> <servlet-name>NoneAnnotationServlet</servlet-name> <servlet-class>NoneAnnotationServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>NoneAnnotationServlet</servlet-name> <url-pattern>/NoneAnnotationServlet</url-pattern> </servlet-mapping> </web-app>
编译、部署后,都可以正常工作。
http://localhost:8080/Tomcat7/AnnotationServlet http://localhost:8080/Tomcat7/NoneAnnotationServlet
蒽哪,很和谐的说。Tomcat还有很多新的Servlet 3.0与Java EE 6规范的特性,慢慢测试之。
发表评论
-
如何并行启动WAS应用服务器?而不是按顺序启动?
2022-06-14 16:07 348如何并行启动WAS应用服务器?而不是按顺序启动? 登录ISC ... -
关于图片文件旋转JPEG与EXIF信息
2019-10-30 21:44 911关于图片文件旋转JPEG与 ... -
通过Liberty存储库下载保存组件,再分发并离线安装之操作步骤
2019-07-05 16:17 925通过Liberty存储库下载保存组件,再分发并离线安装之操作步 ... -
Effective Java Third Edition中文版勘误列表
2018-10-24 01:03 2134相关资源: Eclipse JDK 9 ... -
Effective Java Third Edition中文翻译术语表讨论专用贴
2018-10-24 00:44 1845在书正式出来之前,把术语表放出来讨论。 翻译时的原则: 1 ... -
工作生活运动都不误!KUNG攻公路自行车2018款Horizon装备之
2018-09-08 18:12 2018感谢贺总,感谢KUNG攻,接下来就是准备开始对飙轻量级自行车与 ... -
WAS 8.5在HP-UX Itanium上无法图形化安装启动IIM之解
2013-11-11 17:20 2898继之前写的“WAS 8.5在AIX上无法启动图形化概要管理工具 ... -
IBM WebSphere Application Liberty Profile苗条瘦身之道初探及剖析
2012-08-12 19:57 33381.1 背景信息 IBM WebSphere Applicat ... -
停止启用了安全性的WAS Server而不手动输入密码之第二种选择
2011-05-07 23:08 4649停止启用了安全性的WAS Server而不手动输入密码之第二种 ... -
IBM WebSphere Application Server V6.1 Fix Pack 37于2011.04.04发布
2011-04-05 14:25 1886IBM WebSphere Application Serve ... -
WAS证书过期替换之独立WAS Server之文字操作版
2010-12-31 20:32 5806WAS证书过期替换之独立WAS Server之文字操作版 一 ... -
WAS证书过期替换之DM + NodeAgent + WAS Server网络拓扑结构之文字操作版
2010-12-31 20:28 3114WAS证书过期替换之DM + No ... -
通过配置文件来修改WAS控制台Session过期时间的方法
2010-06-17 18:21 4697通过配置文件来修改WAS控制台Session过期时间的方法 ... -
《程序员 Java天下事,2010.01 低碳时代之Java风云》8卜被退稿
2010-06-12 10:47 2541这一篇《程序员 Jav ... -
IBM WebSphere Application Server V6.1 Fix Pack 29于2010.01.18发布
2010-01-23 21:35 3164IBM WebSphere Application Serve ... -
IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布
2009-11-18 18:11 1870IBM WebSphere Application Serve ... -
隆重推荐《冒号课堂——编程范式与OOP思想》
2009-10-26 18:37 3996背景信息: 冒号课堂的系列博客质量相当高,有订阅此博客的X ... -
IBM WebSphere Application Server V6.1 Fix Pack 27于2009.09.21发布
2009-10-10 11:50 1718IBM WebSphere Application Serve ... -
停个车真的不是一般的难ReentrantLock.lock之LockSupport.park
2009-07-17 16:41 3334今碰到一问题,原以为代码用上 ReentrantLock.lo ... -
IBM于2009.06.19推出开发者免费版WebSphere Application Server
2009-06-23 12:04 16130IBM于2009.06.19推出开发者免费版IBM WebSp ...
相关推荐
J2SE6.0 API(冷冬大雪),目前应该说比较好的j2se,api大全,讲的非常详细,翻译准确以及java1.6中文api 和java官方文档api共三套装,三套装,三套装,欢迎下载
AIX JDK1.8 JRE1.8 IBM官网下载的安装包 jdk 和jre都有 64位,由于官网下载太慢,这里另存一份,需要的同学自取
这是在 sun java jdk 1.6.0 平台上开发的一个类库文件,解决上传文件到 java web server 的问题。
J2SE6.0 API(冷冬大雪),目前应该说比较好的j2se,api大全,讲的非常详细,翻译准确,0分资源,欢迎下载!
JDK1.6加Tomcat6.0的配置问题 JDK1.6加Tomcat6.0的配置问题
tomcat6.0 & jdk1.6 集成,无需配置!!! tomcat6.0 & jdk1.6 集成,无需配置!!! tomcat6.0 & jdk1.6 集成,无需配置!!!
JDK Java SE Development kit(JDK) java开发工具包 JDK全称Java SE Development kit(JDK),即java标准版开发包,是Oracle提供的一套用于开发java应用程序的开发包,它提供编译,运行java程序所需要的各种工具和...
java6.0文档chm版,分成三部分,分别为JDK6.0+中文文档-lytim24.part1.rar、JDK6.0+中文文档-lytim24.part2.rar、JDK6.0+中文文档-lytim24.part3.rar
jdk6.0和tomcat6.0经典配置.doc
这是在 sun java jdk 1.4.2 平台上开发的一个类库文件,解决上传文件到 java web server 的问题。 和最早的版本相比,该版本修正了当 request.getgetCharacterEncoding() 为 null 时所导致的 NullException 。
安装和配置jdk6.0和tomcat6.0
JDK,JRE,JVM区别与联系.pdf 学习资料 复习资料 教学资源
java6.0文档chm版,分成三部分,分别为JDK6.0+中文文档-lytim24.part1.rar、JDK6.0+中文文档-lytim24.part2.rar、JDK6.0+中文文档-lytim24.part3.rar
java6.0文档chm版,分成三部分,分别为JDK6.0+中文文档-lytim24.part1.rar、JDK6.0+中文文档-lytim24.part2.rar、JDK6.0+中文文档-lytim24.part3.rar
JDK1.6.0+Tomcat6.0的安装配置,让你轻松学习JSP。
这是 java 开发环境 jre,jdk打包带走 jre-7u71-windows-x64.rar
oracle11g,plsql,jdk1.6,tomcat6.0及安装说明 ,部署项目必备软件,整合在一起,避免找东找西。
JDK 6.0 API 中文版.chm 帮助文档 JDK 6.0 API 中文版.chm 帮助文档
tomcat10,支持jdk11的哈
我们必须明白JDK,JRE和JVM之间的差异.mp4