现在的位置: 首页 > 数据库 > 正文

JDK+eclipse+tomcat+mysql环境配置

2019年11月03日 数据库 ⁄ 共 10727字 ⁄ 字号 评论关闭

1:背景

    自从开始想要学习WEB后就开始折腾,先是php+apache+mysql,曾经因为mysql的配置搞了一个星期,最后是生生的删注册表解决的,没有人带就是这样每走一步都很艰难,事后想想也没有什么,但是这个过程还是很艰难的,看了很多的教程,太乱了(或许也有人会觉得我是添乱,呵呵),但是希望同学能少走点弯路也值了:

    2:JDK的安装及其系统环境变量的设置

     装完tomcat、jdk之后,必须要配置系统环境变量,否则eclipse根本就启动不起来,启动的时候会报类似“无法找到java Update Development Kit 10”之类的错误;同时,安装完eclipse之后,还必须配置一下,以便让eclipse与刚刚安装的jdk和tomcat环境相关联。 而我,却只是将它们分别安装了一下,压根儿就没有设置环境变量,更没有进行任何配置,这就造成了它们三之间彼此不认识,所以eclipse打开的项目自然 到处都是错误。将这点列在这里,是希望后来的新手别像我这样,犯如此低级的错误。

    2.2 JDK的环境变量设置

    JDK安装好了之后,必须设置其环境变量,这样也方便以后程序的编译和运行!这在我的另一篇文章有详细说明,也是引自一高手的教导:http://www.cnblogs.com/pricks/archive/2009/05/28/1491346.html但是为了大家阅读方便,我这里再贴出来:

  首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量里需要设置三个属性“java_home”、“path”、

“classpath”,其中在没安装过jdk的环境下,path属性是本来存在的。而java_home和classpath是不存在的。
    首先点“新建”,然后在变量名写上java_home,顾名其意该变量的含义就是java的安装路径,呵呵,然后在变量值写入刚才安装的路径

“E:\Java\jdk1.6.0_02”(jdk1.6.0_02是jdk安装后的目录,里面至少包含3个目录:bin、lib和jre。本人一般是将jdk在虚拟机上

安装一遍,得到安装后的目录jdk1.6.0_02,然后将该目录拷贝到E:\Java目录中,于是便形成现在的这个目录结构);其次在系统变量里面

找到path,然后点编辑,path变量的含义就是系统在任何路径下都可以识别。打开该变量时,

会发现其“变量值”后面的文本框中已经有了内容,我们不要删除这些内容,而是按“End”,定位到该文本框的末尾,如果末尾有一个分号“;”,

就直接添加JAVA命令所在的路径,如果没有分号,则需要添加一个分号后再添加JAVA命令的路径——java命令的路径是

“%java_home%\bin;%java_home%\jre\bin”(其中“%java_home%”的意思为刚才设置java_home的值),也可以直接写上“E:\Java\jdk1.6.0_02”;

最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,

其值为“.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar (要加.表示当前路径)”,与“%java_home%”有相同意思。
    以上三个变量设置完毕,则按“确定”直至属性窗口消失,下来是验证看看安装是否成功。先打开“开始”->“运行”,打入“cmd”,进入dos系统界面。

然后打“java -version”,如果安装成功。系统会显示java的版本信息。另外安装java时,安装jdk 和 jre要有两个目录,安装时都选择在同一目录会

出现bin和lib文件覆盖现象,从而出现无lib\tools.jar文件的现象,到时即使正确设置了环境变量后javac也不可用!!因此安装jdk后一定要看下在

jdk\lib下是否有tools.jar文件,有的话按照上面的方法设置环境变量就ok了 

 

    2.3 写一个经典的JAVA程序——Hello World

    这个程序最然简单,但很经典,之所以经典,自有其道理,诸君请看:

     首先,开启文本编辑器如txt,新建一个文本文件,写入如下代码:

       public class HelloWorld{
             public static void main(String args[]) {
                  System.out.println("Hello World!");
             }
       }

       然后关闭编辑器,重命名本文件为HelloWorld.java。注意:如果文件里的类名为helloworldt,则本文件名也要改为helloworld.java,即文件名必须与类名相同,大小写也要必须一样!

       然后,“开始”——“运行”或者直接安装Win + R,打开命令行,输入cmd,点击确定或回车后,就打开了命令符窗口。如果刚才的HelloWorld.java

       文件保存在f:\中,则在该窗口中输入f:,然后回车,光标处为:F:\>。这时,输入javac HelloWorld.java,然后回车,再输入java HelloWorld,然后回车,Ok,如果一切正常的话,窗口中会显示Hello World!这一行文字;否则,肯定会出错,下面便是常见的几种错误类型及其解决方案:

       * 错误1:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。(javac: Command not found)
    产生的原因是没有设置好环境变量path。Win98下在autoexce.bat中加入path=%path%;c:jdk1.2 in,Win2000下则控制面板->系统->高级->环境变量->系统变量...看到了?双击Path,在后面加上 c:jdk1.2in。当然我们假设JDK安装在了c:jdk1.2目录下(有点唐僧了?)...好像还要重启系统才起作用...(//知道了!//西 红柿)好,再试试!javac HelloWorld。
    * 错误2:HelloWorld is an invalid option or argument.
    拜托,给点专业精神,java的源程序是一定要存成.java文件的,而且编译时要写全.java呀。OK, javac HelloWorld.java (这回总该成了吧?)
    * 错误3:HelloWorld.java:1: Public class helloworld must be defined in a file called "HelloWorld.java". public class helloworld{ ^
    这个问题嘛,是因为你的类的名字与文件的名字不一致。(谁说的,明明看到人家都有这样写的 ( ) OK,准确地说,一个Java源程序中可以定义多个类,但是,具有public属性的类只能有一个,而且要与文件名相一致。还有,main方法一定要放在 这个public的类之中,这样才能java(运行)这个类。另外一点是Java语言里面是严格区分大小写的,初学者要注意呀。像上例中 helloworld 与 HelloWorld 就认为是不一样,因而...oh... 好,改好了,嘻嘻... javac HelloWorld.java...(咦,怎么什么也没有呀?)//faint 这就是编译通过了!看看是不是多了一个HelloWorld.class ?(hehe..按书上教的:) java HelloWorld (!! 这个我知道,不是java HelloWorld.class哟)
    * 错误4:Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
     呵呵,这个嘛,就是著名的类路径(classpath)问题啦。实际上,类路径是在编译过程就涉及的Java中的概念。classpath就是指明去哪 里找用到的类,就这么简单。由于我们的HelloWorld没用到其它的(非java.lang包中的)类,所以编译时没遇到这个问题。运行时呢,就要指 明你的类在哪里了。解决方法嘛,可以用下面的命令运行:
     java -classpath . HelloWorld“.”就代表当前目录。当然这样做有点麻烦(是“太麻烦”!),我们可以在环境变量中设置默认的classpath。方法就照上述设置path那样。将classpath设为:
classpath=.;c:jdk1.2libdt.jar;c:jdk1.2lib ools.jar 后面的两个建议也设上,以后开发用的着。java -classpath . HelloWorld(再不出来我就不学java了)
  * 错误5:Exception in thread "main" java.lang.NoSuchMethodError: main
     (//咣当)别,坚持住。看看你的代码,问题出在main方法的定义上,写对地方了吗, 是这样写的吗:
     public static void main(String args[]) { //一个字都不要差,先别问为什么了... 对,包括大小写! java -classpath . HelloWorld (听天由命了!)
    Hello World!
    (faint!终于...)欢迎来到Java世界!所以说,无法运行HelloWorld 真的并不是一个“最简单的问题”。 

   

     mysql官网下载,直接安装就行,最好是默认路径,咱们不在乎那么点空间。。。。


    安装好后

   

 1. 进入dos状态(记住命令行的要运行在mysql的安装目录下的bin目录的)

  2. 连接mysql
  输入:mysql –h localhost –u root –p
  输入在安装时已设好的密码,就近入了mysql的命令编辑界面了。

  3. 使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号,不然会报错)
  显示数据库:show databases;
  使用数据库:use 数据库名;

  4.建库
  命令:create database shujuku;

  5.为数据库设置权限(用户和密码)
  命令:grant all privileges on shujuku.* to test@localhost identified by “123456”;
  当你执行完这个命令以后,只要你再以用户名:test,密码:123456登录时你就只可以对shujuku这个数据库操作,这样避开使用root,对数据库的安全有很大帮助.

  6.建表
  命令:create table biao(id int(8) primary key,name varchar(10));

  剩下来的与标准sqsl命令基本上是一样的,具体操作略
  值得一提的是,你在命令行上输入"?",就会有mysql命令的简单帮助,如下:

  呵呵,那样,我们还可以知道退出,就是"exit",呵呵!

 

   3 tomcat的安装及其环境变量的设置

    第一步:去tomcat官方网站上下载一个压缩文件,解压下来即可,不需安装。

    第二步:接下来就是设置环境变量了,注意:tomcat的环境变量与jdk相关联,因此必须先安装好jdk并设置好其环境变量后,再开始安装tomcat。

    在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在e:\tomcat):
  CATALINA_HOME:c:\tomcat
  CATALINA_BASE:c:\tomcat
  TOMCAT_HOME:  c:\tomcat             
    如果是第一次设置tomcat的环境变量,上面的这三个变量都是没有的,因此都需要“新建”,以第一个变量为例:点击“新建”,输入变量名为CATALINA_HOME,输入变量值为c:\tomcat。

      然后修改环境变量中的classpath(这一步与上面jdk相关联,这里的classpath变量便是上面在安装jdk时所创建的环境变量):把 tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如 下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib \tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar(注意:末尾最好别加分号) 注意:双击打开classpath变量时,其值为jdk的相关值,即:

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,现在要追加tomcat的该变量值,需要先 在末尾添加一个分号(如果末尾有分号,就不必添加了),然后再添加tomcat的值:                                 %CATALINA_HOME%\common\lib\servlet-api.jar。

        【注意最新版本的Tomcat中可能没有common这个文件夹了。所以servlet-api.jar应该的路径为%CATALINA_HOME%\lib\servlet-api.jar;请根据自己的情况自己修改

 

    接着可以启动tomcat:在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。

再接着找到tomcat目录下的conf文件夹,用editplus打开server.xml。找到<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />把端口8080改为80(不过一般情况下不要改)。在最后添加URIEncoding="utf-8".重新启动服务器。输入http: //localhost,如果成 功就可以看到tomcat的欢迎页面。 

    第三步:建立自己的jsp app目录  
    1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;  
    2.在webapps目录下新建一个目录,起名叫myapp;  
    3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;  
    4.WEB-INF下新建一个文件web.xml,内容如下: 

<?xml version="1.0" encoding="ISO-8859-1"?> 

<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> 

<web-app> 

<display-name>My Web Application</display-name> 
<description> 
    A application for test. 
</description> 

</web-app> 

    5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下: 

<html>

<body>

<center> 
    Now time is: <%=new java.util.Date()%> 
</center>

</body>

</html>

    6.重启Tomcat  
    7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。

    8.如果在这一步出现如下错误:

     exception
    javax.servlet.ServletException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver

那 就检查一下Tomcat/lib下是否已经有el-api.jar  el-ri.jar两个jar文件,没有则拷贝到此目录下。重启Eclipse测试;同时,如果机器上已经有Eclipse,又安装 MyEclipse,MyEclipse会自动查找jre,他首先检测到的是C:\Program Files\Java(jdk安装目录)中的jre,而不是C:\Program Files\Java\jdk1.5.0_06中的jre,原先的Eclipse的jre也随之改动(解决方法(Eclipse为例,MyEclipse 类似)window->preferences->Java->Installed JRES->Edit->更改jre home为C:\Program Files\Java\jdk1.5.0_06);如果还不行,就将el-api.jar包也添加到classpath环境变量中去。如 果这样还不行,就再参考一下这一段:原 因:在Eclipse的Windows -->> Preference  -->>Tomcat 设置Tomcat Home路径后,又在Tomcat的Advanced选中设置了相同的Tomcat Base路径,关键一步是Advanced下有项:Add Java projects to tomcat classpath,勾上所选项目之后,才可以正常的引起javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver  

解决办法:从哪里勾上的,就从哪里勾回去,把Add Java projects to tomcat classpath勾掉。如 果上面的方法都不行,那就只好出一个必杀招了——卸载安装好的jdk、tomcat和eclipse,并清除jdk和tomcat的环境变量,然后重新安 装一遍jdk、tomcat和eclipse,并设置jdk和tomcat的环境变量。可能是我这个人比较搓,我每次将我在公司做好的项目拷回来研究时, 总是会出现这样的错误,并且每次无论怎样搞,tomcat依然会报“java.lang.NoClassDefFoundError: javax/el/ELResolver”的错误,最后终于恨下心来,专门花了一个星期的时间来研究解决之道,最后才想出了这个“先毁灭再重建”的不是办法的办法,并且每一次都屡试不爽! 

 

    4:配置jdk

   必须在eclipse中配置安装的jdk,否则项目中会报很多错误。配置步骤如下:

    首先假设刚才的jdk安装目录是D:\j2se1.5.0\jdk1.5.0;

    接下来,启动eclipse,进入window->preferences,选择java->Installed JRES(如下图所示),系统中会有一个默认的jre,即:c:\j2sdk1.4.2(下图jre列表的第一行jre),点中该jre,点击“Remove”按钮将其移除掉(不移除也可以):

    然后点击Add按钮,出现下面的对话框,点击“Browse...”按钮,选择刚才安装的jdk目录(即D:\j2se1.5.0\jdk1.5.0):

 

    然后点击OK,结果如前一张图所示;
    但是,到这一步并未完成jdk的配置,还需要向D:\j2se1.5.0\jdk1.5.0\jre\lib\目录中添加几个tomcat\lib\目录中的 .jar 文件——在上图中,选中jre列表中的第二个jre(即列表的第二行),点击“Edit...”按钮,如下图所示:
    

                                                                           
    点击该界面上的“Add External JARs...”按钮,在弹出的文件浏览对话框中选择刚才安装的tomcat目录下的 lib\ 目录中的servlet.jar、el-api.jar、jsper.jar和jsp-api.jar这四个文件,将这四个文件添加到项目中来。如果不添 加,而项目中又引用到了“javax.servlet.http.*”,则eclipse会报出“inport javax.servlet.http cannot be resolved”的错误。

 5.tomcat连接数据库

    官网下载 JDBC驱动
  下载版本:3.1.8
  http://dev.mysql.com/downloads/connector/j/3.1.html

      

解压缩mysql-connector-java-3.1.10.zip

将要使用的是mysql-connector-java-3.1.10-bin-g.jar和mysql-connector-java-3.1.10-bin.jar

配置

在C:\Program Files\Java目录下建立mysqlforjdbc子目录,进入该目录将mysql-connector-java-3.1.10-bin.jar到该目录下

进入C:\Program Files\Java\jdk1.5.0_04\lib目录将mysql-connector-java-3.1.10-bin-g.jar拷贝到该目录下

然后配置classpath,追加%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g.jar;C:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.10-bin.jar;到该环境变量中去

追加以后环境变量如下:

CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat5.5\common\lib\servlet-api.jar;%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g.jar;C:\Program
Files\Java\mysqlforjdbc\mysql-connector-java-3.1.10-bin.jar;

配置这个的目的是让java应用程序找到连接mysql的驱动

6.测试代码

  <%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="0000";
//数据库名
String dbName="test";
//表名
String tableName="about";
//联结字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql="SELECT * FROM "+tableName;
ResultSet rs = statement.executeQuery(sql);
//获得数据结果集合
ResultSetMetaData rmeta = rs.getMetaData();
//确定数据集的列数,亦字段数
int numColumns=rmeta.getColumnCount();
// 输出每一个数据值
out.print("id");
out.print("|");
out.print("num");
out.print("<br>");
while(rs.next()) {
out.print(rs.getString(1)+" ");
out.print("|");
out.print(rs.getString(2));
out.print("<br>");
}
out.print("<br>");
out.print("数据库操作成功,恭喜你");
rs.close();
statement.close();
connection.close();
%>

我的成功案例

id|num
   0 |liang

  数据库操作成功,恭喜你



  

抱歉!评论已关闭.