java 问题

请教两个问题:
1、java jdk中有一个jre,安装的时候有叫我装了一个jre6
如:
D:\Program Files\Java\jdk1.6.0_30\jre
D:\Program Files\Java\jre6
这两个jre有什么区别?

2、用eclipse,在用到servlet的时候,总是报错。大概意思就是没有这样一个包吧。我环境变量应该没有配错的,是按这里配置
http://zhidao.baidu.com/question/319503701.html
请问为什么eclipse总是报错。。。莫非eclipse也要另外特别配置?

谢谢您的解答。复制粘贴都欢迎。分数我很多,大可追加。

1.没有区别。JRE是运行环境。比如你做了一个JAVA的程序来给别人使用。他只需要安装JRE就可以。而不需要安装JDK。这个好象在1.5开始是这样的。那时的下载说明我记得是JDK+JRE这样说的说明。

2.你缺少servlet-api.jar这个包。
看了你给出的链接,那是基本配置。只是能让你Java基本运行起来。
servlet-api.jar这个文件在你使用的web容器里,比如tomcat,jboss等什么的,你在那个目录下都可以搜到。
在这里想不出错。有两个办法。
方法1:找到servlet-api.jar文件。入到eclipse工程目录中。然后工程属性->java build path中引入这个jar文件。
方法2:安装插件。看你使用什么web容器了。如果是tomcat,搜一下tomcatPlugin
这样你就可以建一个tomcat工程,servlet-api.jar就会自动引入。追问

为什么要另外导入这个包?在JDK里面没有的吗?
API里面不是有javax.servlet.*吗?为什么还要另外导入的?

追答

你看的是什么API?
JDK的API里没有
你看的是j2ee的API吧。

在JDK下没有这个jar文件。

你的追回
--------------------------------
我用的是javaEE的Eclipse,但是jdk是SE的。我试过下载EE的JDK,但是不知道为什么会有个glassfish,不知道是怎么用的。所以就卸了用回SE的,不知道这样做有什么影响?莫非SE的JDK不包含servlet,而EE的包含?两个JDK不一样吗?

javaEE的Eclipse多了一些web开发的插件。比如server,这个在SDK的Eclipse里就没有。
你用这个插件建一个server它会自动找包。但你也要关联一个web server容器。

EE的JDK我用得也不多glassfish好象是也是一个web容器。这个我叫不准,你可以再查一下。
卸了再安JDK没有影响。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-26
1、JRE是运行环境,JDK包含用于开发的一些工具,比如编译器
2、缺包,没有找到servlet-api.jar或类似的包,在Eclipse里面可以添加Server RUNTIME的库,在BulidPath的配置界面中添加追问

该包是否直接放在tomcat的lib里面,然后以后开发就再不需要导入了?

追答

放在那里也行,但是Eclipse还是找不到,仍然会包错,默认在tomcat的lib里面有那个包

第2个回答  2011-12-26
1、叫你装的那个jre6 ,是JRE的外部运行环境,就像flash Player似的那种,如果你开启自动更新的话,它会自动更新Jre到最新版本,而Jdk里面的jre与jdk版本保持一致,不会自动更新,用于开发运行。
2、缺包,没有找到servlet-api.jar或类似的包,在Eclipse里面可以添加Server RUNTIME的库,在BulidPath的配置界面中添加。另外,你是不是建立的不是dynamic web工程,用到selvlet时,要有支持javaEE的Eclipse,建立dynamic web project.追问

为什么要另外导入这个包?在JDK里面没有的吗?
API里面不是有javax.servlet.*吗?为什么还要另外导入的?
我用的是javaEE的Eclipse,但是jdk是SE的。我试过下载EE的JDK,但是不知道为什么会有个glassfish,不知道是怎么用的。所以就卸了用回SE的,不知道这样做有什么影响?莫非SE的JDK不包含servlet,而EE的包含?两个JDK不一样吗?

追答

楼下的回答了,javax.selvlet.*包在javaSE JDK中是没有的,就当外部的第三方包用就行了。
javaEE JDK中才有。两个JDK是不一样。EE的比较大,包含java EE的各种包如selvet,jms那些。

相似回答
大家正在搜