JSP开发环境搭建:
首先说明一下,我是新手,之前都没接触过java,几天之内,就要接受JDK,JRE,TOMCAT,ECLIPSE,LOMBOZ,MYECLIPSE,连接池等很多概念。其实这些概念一个个出现是一环扣一环的。首先要用java,必然要用到JDK这么一个java的开发包和JRE这样一个运行环境;但又要用JSP开发我的服务器登录网页,就又要用到TOMCAT服务器;后来,我发现只是用文本来编辑代码,很难找出代码中的错误,别人告诉我eclipse很好用;可我又很贪心,还想要编辑我的JSP代码,那就要在eclipse里安装插件了,lomboz和myeclipse是一个选择。网页开发,数据库又比不可少,于是连接池也就出现了,这还只是起步阶段,相信越到后面我会遇到越来越多新的概念和工具。
下面介绍的是整个JSP开发环境搭建过程,以及这几天来一直困扰我的一个又一个接踵而至的问题,希望对首要初次接触java,jsp的新手有点帮助。
一、JDK
1 JDK概念
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。JDK包含的基本组件包括:
.javac 编译器,将源程序转成字节码
.jar 打包工具,将相关的类文件打包成一个文件
.javadoc 文档生成器,从源码注释中提取文档
.jdb debugger,查错工具
JDK中还包括完整的JRE(Java Runtime Environment,Java运行环境),也被称为private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。
JDK一般有三种版本:
SE(J2SE),standard edition,标准版,是我们通常用的一个版本
EE(J2EE),enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序,
ME(
J2ME),micro edtion,主要用于移动设备、嵌入式设备上的java应用程序
详细介绍请见:
http://www.itisedu.com/phrase/200604181646475.html 这里的资料很有用,新手值得一看。
2 JDK下载安装
我用的是jdk1.6.0_05,下载网址:
http://java.sun.com/javase/downloads/?intcmp=1281
详细下载安装过程请参见:
下载过程:
http://www.java2000.net/viewthread.jsp?tid=385
安装过程:
http://www.java2000.net/viewthread.jsp?tid=386
3 JDK环境变量设置
右击\"我的电脑\"的\"属性\",点击\"高级-环境变量-\"在\"新建\"里面设置:
变量名:CLASSPATH
变量值: .;C:\Program Files\Java\jdk1.6.0_05\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_05\lib\tools.jar;
变量名:JAVA_HOME
变量值: C:\Program Files\Java\jdk1.6.0_05;
变量名:PATH
变量值: C:\Program Files\Java\jdk1.6.0_05\bin;
详细图解过程见:
http://www.java2000.net/viewthread.jsp?tid=387
但这这个图解过程的第五步,我没有在最后加上版主说要注意的那个点,照样可以运行。。。
4 JDK安装过程遇到的问题
相信新手在安装完后准备编译自己的第一个java程序的时候,一定也像我一下遇到如下问题:
(1)javac不是内部命令和外部命令
(2)javac编译通过后,用java 命令运行第一个helloworld程序后 又出现NoClassFileDefFound的错误
在出现第一个问题的时候,我百度,google上搜到了很多解决办法,有一种办法是直接在DOS里用set 命令设置环境变量,哎~~设置后编译的确能够通过,但是却会出现第二个问题,不能执行我刚才所编译的文件。。。
反正我又重装JDK,又试遍了网上说的各种稀奇古怪的办法,还是不行,真是郁闷了
最后的最后,我发现问题就是出在我的环境变量的设置上,变量值的最后忘记加分号了。所以这些小细节一定一定要注意了,比如CLASSPATH的变量值前一定要加--.;
二、Tomcat
1.Tomcat 概念
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
2.Tomcat的下载
Tomcat 5.5 的下载地址为
http://tomcat.apache.org/download-55.cgi
我们选择zip压缩的格式,下载后直接解压到我们的本地目录,点击文件夹下进入 bin 子目录,双击[startup.bat] 就可以启动Tomcat,无需安装 。启动Tomcat后,在IE地址栏里输入
http://localhost:8080/,如果能显示一只猫的网页,就表明Tomcat安装成功。
具体的图解过程见网址:
http://www.java2000.net/viewthread.jsp?tid=601
2.Tomcat安装过程中出现的问题
1.Tomcat启动时一闪而过
我一开始用的时候是用的安装版的Tomcat,版本也比较低,而且很不稳定,经常就自己非法关掉了,重启又启动不了,在DOS里查看使用端口(查看端口命令:netstatu -na),发现8080端口还在使用,每次要重启一下机器,才可再启动我的Tomcat,郁闷至极啊。
后来,听了版主的劝告,重新下了免安装的Tomcat 5.5.26版本,这下是稳定了,但也出现了一闪而过的现象。从版主的文章上了解到,这个现象就是两个原因:
a) JDK目录没有找到,请参考 修改Tomcat的JDK目录
http://www.java2000.net/viewthread.jsp?tid=406
b) 端口被占用, 请参考 Tomcat 5.5 修改服务器的侦听端口
http://www.java2000.net/viewthread.jsp?tid=602
我的是修改了JDK目录后一切都运行正常了,真是开心啊。
三、数据库连接池
这一小节应该放到下面来讲的,但我想先在我的tomcat下试试用连接池连接数据库。
我用的数据库是sqlserver2005,(为什么我用的东西都与众不同的呢,当初数据库遇到问题的时候,在网上搜索,铺天盖地的都是sqlserver2000,mysql,orcal的数据库连接问题,sqlserver2005的还真是少之又少,得出一个结论,什么都可以赶新潮,用软件就不要太赶新潮了,特别是对我们这些新手来说,遇到问题就惨了!)好了,说了很多废话,回归正题。
1. 首先要把sqlserver2005的JDBC驱动程序sqljdbc拷贝到Tomcat安装目录的/common/lib下和你自己网站的/WEB-INF/lib下
sqlserver2005区别于sqlserver2000的是,sqlserver2005只有一个sqljdbc.jar包,而2000有三个包。
2. 在Tomcat安装目录下/conf/Catalina/localhost文件夹中建立一个和你网站文件夹名字一样的XML文件。例如:MyWeb.xml。内容如下:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Context path=\"/MyWeb\" docBase=\"D:\MyWeb\" reloadable=\"true\">
<Resource
name=\"jdbc/mysql\"
auth=\"Container\"
type=\"javax.sql.DataSource\"
driverClassName=\"com.microsoft.sqlserver.jdbc.SQLS erverDriver\"
url=\"jdbc:sqlserver://localhost:1433;DatabaseName= EdocServer_db\"
username=\"sa\"
password=\"123456\"
maxActive=\"20\"
maxIdle=\"10\"
maxWait=\"-1\"
/>
</Context>
这里讲到driverClassName和url的写法,sqlserver2005与sqlserver2000也是不同的,
sqlserver2000写法如下:
driverClassName=\"com.microsoft.jdbc.sqlserver.SQLS erverDriver\"
url=\"jdbc:microsoft:sqlserver://localhost:1433;Dat abaseName=EdocServer_db\"
咋看好像相似啊,睁大眼睛自己找了。。。
<Context path=\"/MyWeb\" docBase=\"D:\MyWeb\" reloadable=\"true\">
path=\"/MyWeb\" 就是虚拟目录的名称
docBase=\"D:\MyWeb\"为物理路径
path是虚拟目录,访问的时候用127.0.0.1:8080/MyWeb/*.jsp访问网页;
docBase是网页实际存放位置的根目录(我的放在D:\MyWeb),映射为path虚拟目录;
reloadable=\"t