|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。js|mysql|oracle|window|数据|数据库Jsp情况今朝最盛行的是Tomcat5.0。Tomcat5.0本人包括一个Web服务器,假如是测试,就没需要把Tomcat与IIS或Apache集成起来。在Tomcat自带的Web服务器下能够举行Jsp测试。
安装Tomcat5.0前必要安装JDK(假如是Windowsserver2003就必需安装JDK,由于Windowsserver2003是不带JVM的-Windowsserver2003刊行时MS和SUN恰好闹别扭呢)。安装完后,要设置几个情况变量:JAVA_HOME=E:j2sdk1.4.2_04
CLASSPATH=E:j2sdk1.4.2_04lib;E:j2sdk1.4.2_04lib ools.jar
Path中加.;E:j2sdk1.4.2_04in;
CATALINA_HOME=E:Tomcat5.0
TOMCAT_HOME=E:Tomcat5.0
注释以下:我的JDK版本是1.4.2,安装在E:j2sdk1.4.2_04文件夹下。
情况变量JAVA_HOME和CATALINA_HOME是必定要加的(最少参考材料都是这么说的)。CLASSPATH也说要加,可是我没加仿佛也没甚么影响。Path中加“.;E:j2sdk1.4.2_04in;”也一样,我不加jsp也能运转起来,可是在DOS窗口动手工编译.java类到.class文件有影响,由于找不到javac.exe编译命令文件。至于path中加的谁人点“.”,我本来在resin下是必要的,在Tomcat下还没断定它是否是必需的。
人人还发明CATALINA_HOME和TOMCAT_HOME的值是一样的,我估量TOMCAT_HOME是Tomcat的旧版本利用的,如今用的都是CATALINA_HOME。不外这2个好象并非不相容的,都加上,大概加个中恣意一个,Jsp都不手影响。不外我倡议用一个CATALINA_HOME就算了。
Tomcat5.0设置假造路径对照便利了,由于能够在Web情况下办理。http://[url]:8080/admin能够进进办理界面(办理员admin暗码在Tomcat安装过程当中能够设置),在TomcatServer-Service(Catalina)-Host(localhost)下能够增加Context,相似于IIS
里的假造路径:DocumentBase指的是从实践E:Tomcat5.0webappsROOT为出发点的文件路径,Path指的是从假造“/”入手下手的假造路径名,如“/mytest”。这里Tomcat好象计划的有点不完美,只需加了新的Context,保留,再点“CommitChanges”按钮,再点Context往看时,界面就会退到登录界面,可是偶然页面就堕落了,必需再次手工进进http://[url]:8080/admin。加了Context,ApacheTomcat服务必需“封闭/启动”一下(在Windows办理把持台的服务里)。有材料说在http://localhost:8088/manager办理界面下能够Start和Stop来从头启动对应的Context,可是我Stop后就是Start不起来。点了一下Undeploy,就把Context删除,注重:把Context对应的物理文件夹也给删除!!就是说你做了个使用,移到这里,假如不当心,就给删了-比病毒还凶猛。当心啊!!
上去我说一下Jsp毗连mySQL的成绩。假如用Jsp往毗连Access,我感到就是把裙子穿在汉子身上。Access和ASP才是神工鬼斧的一对。Jsp毗连mySQL大概Oracle才算通情达理。缘故原由我以为是:用Jsp做开辟,其上风就是跨OS平台,假如用Jsp+Access组合,跨平台的上风就没有了。ASP和Access已事情的很好了,也复杂,你何须要别扭的往用Jsp开辟?固然,假如您对Jsp十分熟习(大概对Asp十分不熟习),大概十分喜好Jsp(大概十分不喜好Asp),大概您有大批的数据堆集在Access里,您要用Jsp+Access在手艺上也不是不可的。
mySQL的安装十分复杂,基础安装终了都能一般利用,创建数据库,设置用户,都能够在mySQL的情况下完成。就是对用惯了GUI界面的人,感到不伏手。网上能下载到一些mySQL的图形用户界面的办理工具,但好象不是收费的。
用Jsp毗连mySQL数据库,从内外取数据,写一段代码测试一下:
程序代码1:
<!--起首导进一些需要的packages-->
<%@pageimport="java.io.*"%>
<%@pageimport="java.util.*"%>
<!--告知编译器利用SQL包-->
<%@pageimport="java.sql.*"%>
<!--设置中文输入-->
<%@pagecontentType="text/html;charset=GB2312"%>
<html>
<head>
<title>mySQLtest</title>
</head>
<body>
<%
Connectioncon;
Statementstmt;
ResultSetrs;
//加载驱动程序,上面的代码为加载MySQL驱动程序
Class.forName("com.mysql.jdbc.Driver");
//注册MySQL驱动程序
DriverManager.registerDriver(newcom.mysql.jdbc.Driver());
//用得当的驱动程序毗连到数据库
//StringdbUrl="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=GB2312";
//StringdbUser="root";//用户名
//StringdbPwd="abcd1001";//暗码
//创建数据库毗连
//con=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
StringdbUrl="jdbc:mysql://localhost:3306/mysql?user=root&password=abcd1001&useUnicode=true&characterEncoding=gb2312";
con=DriverManager.getConnection(dbUrl);
//创立一个JDBC声明
stmt=con.createStatement();
//增添新纪录
//stmt.executeUpdate("INSERTINTObooks(id,name,title,price)VALUES(999,Tom,TomcatBible,44.5)");
//查询纪录
rs=stmt.executeQuery("select*fromuser");
//输入查询了局
out.println("<tableborder=1width=400>");
while(rs.next())
{
Stringcol1=rs.getString(1);
Stringcol2=rs.getString(2);
Stringcol3=rs.getString(3);
Stringcol4=rs.getString(4);
//打印所显现的数据
out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td><td>"+col4+"</td></tr>");
}
out.println("</table>");
//封闭数据库保持
rs.close();
stmt.close();
con.close();
%>
</body>
</html>
程序代码2:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
<html>
<body>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Stringurl="jdbc:mysql://localhost/chclyb?user=root&password=abcd1001&useUnicode=true&characterEncoding=8859_1";
//testDB为你的数据库名
Connectionconn=DriverManager.getConnection(url);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql="select*fromtest";
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){%>
第一个字段内容为:<%=rs.getString(1)%>
第二个字段内容为:<%=rs.getString(2)%><br>
<%}%>
<%out.print("数据库操纵乐成,祝贺你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
我的以上2段代码都能事情。注重以上2段代码的Class.forName(…)部分的分歧:
Class.forName("com.mysql.jdbc.Driver");//在程序代码1中
Class.forName("org.gjt.mm.mysql.Driver").newInstance();//在程序代码2中
程序代码2中的代码是为了兼容mySQL的老版本而保存的,如今都用Class.forName("com.mysql.jdbc.Driver");驱动了。
以上的代码拷贝到Tomcat的假造路径下能乐成实行吗?生怕不可。由于另有个主要的事变没有做:必要给Tomcat5.0安装mySQL的JDBC驱动程序!这个成绩,网上的年夜多半文章都没讲,给贴一段毗连mySQL的代码,就让我们往毗连数据库了,连不上的!
mySQL的驱动必要从网高低载,下载终了,拷贝到E:Tomcat5.0commonlib路径下(我下载上去文件名是mysql-connector-java-3.2.0-alpha-bin.jar),把Tomcat服务来个Stop/start安装就停止了。文件名能够改的,不影响利用,由于这是个紧缩包,Tomcat能主动熟悉到包里的内容,并把有关类注册出去。后面说的Class.forName(…)部分的分歧能够在包里找到谜底,由于包里正有com/mysql/jdbc/Driver和org/gjt/mm/mysql/Driver2个路径,上面放的类文件是一样的。
用Jsp毗连Oracle数据库测试,就好说了,可是一样必需在E:Tomcat5.0commonlib路径下拷贝和注册Oracle的JDBC驱动,这个驱动文件没需要在网上到处探听,显得很菜的模样(我现在就是如许!),这个文件在Oracle的E:oracleora90jdbclib路径下,文件名是classes12.jar。我的示例代码以下:
程序代码3:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
<html>
<body>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");//.newInstance();
Stringurl="jdbc:oracle:thin:@10.0.1.1:1521:mydb";//mydb为数据库的SID,10.0.1.1为数据库服务器IP
Stringuser="system";
Stringpassword="abcd1001";
Connectionconn=DriverManager.getConnection(url,user,password);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql="select*fromtest";//test是表名,要先创建这个表,再送几笔记录
ResultSetrs=stmt.executeQuery(sql);
while(rs.next())
{
%>
第一个字段内容为:<%=rs.getString(1)%>
第二个字段内容为:<%=rs.getString(2)%><br>
<%
}
out.print("数据库操纵乐成,祝贺。");
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
关于Oracle数据库:我安装的是Oracle9i企业版(Windowsserver2003下),安装终了后,Oracle将占用80端口运转自带的Apache1.3Web服务器,还占用8080端口运转TNSLSNR服务(TNSLSNR.EXE文件在X:oracleora90BIN下),供应一些log及文档。以是倡议安装Oracle的呆板就不要安装IIS了,假如IIS先启动起来,Oracle的http服务就不克不及启动了。也不克不及占用8080端口。成绩是假如还安装Tomcat,Tomcat默许恰好用的是8080端口,以是安装Tomcat时最好把端口设成其余值,如8088。
Oracle里创建表,必需先创建表空间,还能够加一个数据文件(也能够不加,由于创建表空间时默许已建了一个数据文件。今后能够视必要再增加)。再创建一个用户(今后的“计划”名和用户名一样)。创建表时,要选择表空间和计划名,最好把表创建在对应的计划下,把他们对应起来,今后好办理。假如把表创建在其余“计划”下,用SQL*plus语句会见时要用[计划].[表名]的格局。
密密麻麻说了这么多,是我的一些条记类的工具。有些工具真的不太懂的,由于方才打仗了一些非Microsoft的工具。但愿妙手指出我说的和了解不合错误的中央。老手也不要完整吸收我的工具,多想一下,看在您的情况下,我说的能不克不及调试乐成。
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|