linux课程设计报告.docx
《linux课程设计报告.docx》由会员分享,可在线阅读,更多相关《linux课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
![linux课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-6/9/e93e129b-33a8-46f7-9028-aeb2fffe6233/e93e129b-33a8-46f7-9028-aeb2fffe62331.gif)
linux课程设计报告
课程报告
课程名称:
Linux操作系统课程设计
题目:
Linux下J2EE开发与运行环境配置达到jsp程序可以访问数据库
学院(系):
计算机与电子信息学院
专业:
班级:
指导教师:
组员及学号:
2010年11月26日
一、目的
本次课程设计的目的是结合所学知识,完成linux系统的管理、分析、及其使用。
为今后在linux系统上进行开发、管理和电子商务应用打下基础。
主要要求是要掌握虚拟机的安装;Linux系统的安装;Linux基本指令的运用与掌握;jdk、Eclipse、tomcat、mysql和jdbc的安装与环境配置从而实现Linux下J2EE的开发与运行环境配置,并学会编写jsp程序访问数据库,对开发和环境进行测试。
二、内容与设计思想
1.总体思想:
Linux下J2EE开发与运行环境配置,并写jsp程序访问数据库对结果进行测试
(jdk+eclipse+tomcat+mysql+jdbc)
2..设计思路:
第一步:
安装虚拟机软件
第二部:
创建一个安装Linux系统的虚拟机
第三部:
用ISO将所需要放入虚拟机的jdk、eclipse、tomcat、mysql、和jdbc等文件转换成映像文件
第四步:
将映像文件传入虚拟机并根据自己需要放到某个目录下
第五步:
安装jdk和配置环境并测试
第六步:
安装eclipse和配置环境并测试
第七部:
安装tomcat和配置环境并测试
第八部:
安装mysql和配置环境并测试
第九步:
载入驱动器jdbc
第十部:
编写jsp程序访问数据库,对开发和环境进行测试
三、使用环境及其软件包
本次上机实践的所有用的到软件,工具的名称、版本号以及下载地址:
虚拟机:
版本号VMwareWorkstation7.1
下载地址
Linux系统:
版本号RedFlag-6.3-System-1.791-201008172005
(2).iso
下载地址
UItraISO.exe(光盘映像文件制作/编辑/格式转换工具UltraISO):
下载地址
JDK:
jdk-1_5_0_09-linux-i586-rpm.bin(用老师给的)
Tomcat:
apache-tomcat-5.5.31.tar.gz(用老师给的)
Eclipse:
eclipse-SDK-3.2.2-linux-gtk.tar.gz(用老师给的)
Mysql:
1)MySQL-server-community-5.1.53-1.rhel5.i386.rpm
2)MySQL-client-community-5.1.53-1.rhel5.i386.rpm
下载地址:
Jdbc:
mysql-connector-java-5.1.13.tar.gz
下载地址:
四、安装、配置、调试过程
JDK的安装:
1. 把老师给的jdk通过iso传到虚拟机上,拷贝到安装目录/usr目录下
进入安装目录
#cd /usr
#cp jdk-1_5_0_09-linux-i586.rpm /local
#cd local
给所有用户添加可执行的权限
#chmod a+x jdk-1_5_0_09-linux-i586.rpm.bin
#./jdk-1_5_0_09-linux-i586.rpm.bin
此时会生成文件jdk-1_5_0_09-linux-i586.rpm,同样给所有用户添加可执行的权限
#chmod a+x jdk-1_5_0_09-linux-i586.rpm
安装程序
#rpm -ivh jdk-1_5_0_09-linux-i586.rpm
出现安装协议等,键入yes
2.设置环境变量。
#vi /etc/profile
在最后面加入
(里面的
是后面设置jdbc时才加进去的)保存退出。
为了要使JDK在所有的用户中使用,所以这样设置:
vi /etc/profile.d/java.sh
在新的java.sh中输入以下内容:
保存退出,然后给java.sh分配权限:
chmod 755 /etc/profile.d/java.sh
3.在终端使用echo命令检查环境变量设置情况。
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
4.检查JDK是否安装成功。
#java –version
看到JVM版本及相关信息,安装成功!
eclipse的安装
把老师给的eclipse-SDK-3.2.2-linux-gtk.tar.gz通过iso传到虚拟机上,拷贝到安装目录/local目录下
1.(将eclipse-SDK-3.2.1-linux-gtk.tar.gz解压缩)
[root@localhostlocal]#tar–zxvfeclipse-SDK-3.2.1-linux-gtk.tar.gz
2.[root@localhostlocal]#cdeclipse
3.(执行Eclipse)
[root@localhosteclipse]#./eclipse
4.(Selectaworkspace)
(将Usethisasthedefaultanddonotaskagain打勾,以后就不会出现这个窗口)
5.建立eclipse桌面快捷方式
在桌面右击——>新建——>到位置(URL)的链接——>在文件名里输入eclipse;在输入到位置(URL)的链接里输入/usr/local/eclipse/eclipse
这样就成功地建立了eclipse桌面快捷方式。
从桌面进去如下图:
Tomcat的安装:
1.把老师给的apache-tomcat-5.5.31.tar.gz通过iso传到虚拟机上,拷贝到安装目录/local目录下
2.进入目录/local解压tar–zxvfapache-tomcat-5.5.31.tar.gz即可。
这时会在/local下面看到解压后的文件apache-tomcat-5.5.31.tar.gz
3.进入目录/apache-tomcat-5.5.31.tar.gz/bin/目录下执行ls指令后会看到startup.sh;执行这个文件./startup.sh;打开浏览器输入网址http:
//localhost:
8080/;如果连接成功,就会出现有一只猫的页面
mysql的安装
在有两个rmp文件的目录下运行如下命令:
1)安装服务器端
i. [root@test1local]#rpm–ivhMySQL-server-community-5.1.53-1.rhel5.i386.rpm
显示如下信息。
ii.[root@test1local]#netstat–nat执行这个命令,显示如下图:
2)安装客户端
运行如下命令:
[root@test1local]#rpm–ivhMySQL-client-community-5.1.53-1.rhel5.i386.rpm
出现上图安装成功!
3)用下面的命令连接mysql,测试是否成功。
登录mysql
Jdbc的安装
将文件mysql-connector-java-5.1.13.tar.gz放到/usr/local目录下
执行指令:
tar–zvxfmysql-connector-java-5.1.13.tar.gz就算是安装了
执行上面命令后出项下面的东西:
进入解压后的文件显示如下:
调试:
用jsp程序访问数据库
1)创建数据库和表及其相应的字段如下:
(所有的指令知识都是老师给的)
2)在表中插入相应的记录(值),指令是insertintochengjivalues(‘0705101’,‘Lily’,’90’);
插入后显示如下
3)将测试程序代码放在记事本文本文档里面以.jsp的格式保存,用ISO软件将测试文件DBTest.jsp转换成.iso格式即DBTest.jsp.iso,然后通过ISO上传到虚拟机下上,把文件放到/usr/local/apache-tomcat-5.5.31/webapps/root目录下面。
4)启动tomcat,指令是./startup.sh
5)打开火狐浏览器,在地址栏下面输入http:
//localhost:
8080/DBTest.jsp进入显示如下
6)后面把测试文件改了一些系数另存为xielm.jsp传入目标目录下,再一次在浏览器浏览发现界面改变并没有,还是如下
7)测试代码如下:
(该代码是copy别人的,只是把数据库、表和显示内容的效果改了一下)
<%@pagecontentType="text/html;charset=GBK"%>
--
.datalist{
border:
1pxsolid#0060a3;/*表格边框*/
font-family:
Arial;
border-collapse:
collapse;/*边框重叠*/
font-size:
10px;
}
.datalistcaption{
padding-bottom:
5px;
font:
bold1.4em;
text-align:
left;
}
.datalistth{
border:
1pxsolid#0060a3;/*行名称边框*/
font-weight:
bold;
padding-top:
4px;padding-bottom:
4px;
text-align:
center;
}
.datalisttd{
border:
1pxsolid#0060a3;/*单元格边框*/
text-align:
left;
padding-top:
4px;padding-bottom:
4px;
}
-->
--
body{
margin:
0px;padding:
0px;
}
table.banner{
width:
100%;
}
table.btn{
width:
100%;
}
#navigation{
margin:
0px;padding:
0px;
list-style-type:
none;
height:
32px;
font-size:
12px;
}
body{
margin-left:
0px;
margin-top:
0px;
margin-right:
0px;
margin-bottom:
0px;
}
-->
<%@pagelanguage="java"import="java.sql.*"%>
--<%
StringtableName=request.getParameter("tableName");//获取用户要显示数据的表名
%>
-->
---->
<%
Connectionconnection=null;//定义与数据库进行连接的Connection对象
ResultSetrs=null;//定义数据库查询的结果集
Statementstatement=null;//定义查询数据库的Statement对象
out.println("成绩表");
try
{
Class.forName("com.mysql.jdbc.Driver");//指定与数据库连接使用JDBC-ODBC桥驱动程序
Stringurl="jdbc:
mysql:
//localhost/xc";//指定数据库名test
connection=DriverManager.getConnection(url,"root","890214");//mysql的用户名、密码
statement=connection.createStatement();//创建Statement接口实例
Stringsql="select*fromchengji";//testtable表名
rs=statement.executeQuery(sql);//将数据存入结果集中
ResultSetMetaDatarsData=rs.getMetaData();//获取结果集信息
//out.println("");out.println("");
out.println("
");for(inti=1;i<=rsData.getColumnCount();i++)//输出字段名
{
//out.println(""+rsData.getColumnLabel(i)+"");
if(rsData.getColumnLabel(i).equals("id"))
out.println(""+"ID"+"");
elseif(rsData.getColumnLabel(i).equals("name"))
out.println(""+"NAME"+"");
elseif(rsData.getColumnLabel(i).equals("score"))
out.println(""+"SCORE"+"");
}
out.println("
");
while(rs.next())//输出表中数据
{
out.println("
");for(inti=1;i<=rsData.getColumnCount();i++)
{
if(rs.getString(i)==null)out.println("
"+" | ");elseout.println("
"+rs.getString(i)+" | ");}
out.println("
");
}
out.println("");
}
catch(SQLExceptionex){//捕捉异常
System.out.println("\nERROR:
-----SQLException-----\n");
while(ex!
=null){
System.out.println("Message:
"+ex.getMessage());
System.out.println("SQLState:
"+ex.getSQLState());
System.out.println("ErrorCode:
"+ex.getErrorCode());
ex=ex.getNextException();
}
}
catch(Exceptionex){
ex.printStackTrace();
}
finally{
try{
if(statement!
=null)
{
statement.close();//关闭Statement接口实例
}
if(connection!
=null)
{
connection.close();//关闭Connection接口实例
}
}
catch(SQLExceptionex){
System.out.println("\nERROR:
-----SQLException-----\n");
System.out.println("Message:
"+ex.getMessage());
System.out.println("SQLState:
"+ex.getSQLState());
System.out.println("ErrorCode:
"+ex.getErrorCode());
}
}
%>
五、总结
1.设计中遇到的问题及解决过程
设计中遇到最大的问题就是什么样的程序是jsp程序,怎样写jsp程序,怎样通过jsp程序访问数据库。
最初以为数据库的链接就只是在某个文件下弄几个代码进去就行了,在网上看了很多有关方面的,都是说修改(添加、删除或者更改位置等)改一下某个文件中的某些代码,但是这根本就与从网页上读数据库无关。
后来在网上搜索并学习很多关于在Linux写jsp程序访问数据库的知识,后面进入到/tomcat/webapps/root/目录下面看到index.jsp写的是访问时出现那只猫的页面的.jsp程序页面,这时才真正懂得原来用jsp程序访问数据库是要做成这么一个样子。
但是我从未写过jsp程序,一点都不知道从哪写起,后来就用了网上的程序,是把程序里边访问的数据库的用户名、密码和各个信息改了就通过记事本文本文档转换成.jsp格式,再通过ISO导到虚拟机上。
然后放到/usr/local/apache-tomcat-5.5.31/webapps/root/目录下,在红旗6.0的虚拟机上就像在windowsXP下一样很容易的把所需要的文件复制到目标目录下。
最后启动tomcat,打开浏览器,输入网址http:
//localhost:
8080/DBTest.jsp这样就实现了访问数据库。
这个是最大的问题也是最后的问题,解决了也就是实验结束了。
2.设计中产生的错误及原因分析
1)在安装jdk过程中配置环境是把文件名输错,所以给自己带来麻烦都不懂,最后在舍友的帮忙下找到了这个粗心的原因。
2)修改数据库密码后再重新登陆时出现了错误,原因是登陆的指令错误,看清了指令之后再登陆,问题解决了。
3)创建数据库和表的时候出现错误,原因是指令后面没有加上分号,改正之后终于创建成功。
4)建表时出现错误,原因是插入记录的格式不正确,改正后问题解决。
5)把记事本文档传入虚拟时没有转换成.jsp格式,导致无法访问,通过改正,访问成功。
3.设计体会和收获。
这个上机实践无论从知识上还是心理上都给了我很大的收获。
上了半个学期Linux操作系统课,除了平时在机房跟听老师的讲解之后做一些之外,回到宿舍就很少自己动手做。
所以在做实验之前一想到这个Linux课程设计,心里面就很发慌,因为自己手生,因为题目里有很多自己没有接触过的知识点,因此一直觉得这个实验是一个很大的心病。
到做的时候到处碰壁,很受打击,信心几乎被磨灭,但是还是挺住一直不停的做,早上7点起床就弄,中午不睡觉也弄,甚至请了假在宿舍弄。
在最先安装jdk的时候,不是不记得指令,就是把指令或者文件名打错,结果给自己带来许多麻烦。
最可笑的就是在配置jdk环境时,把etc打成ect,进去之后输完了那些配置路径,要保存,怎么都保存不得,还出现了红色警告。
折腾了十几分钟,舍友过来一看,大惊,原来我把把etc打成ect,然后自己折腾那么久竟然不知道。
我最初的目标是做第三个实验matlab或者第四个实验ptp。
所以实验的开始,我先装完了jdk和eclipse,这样做是让自己先熟练一下Linux环境界面和有关指令。
因为有了jdk和eclipse,所以第四个实验就差一个ptp了,看起来很容易就做完了,进了老师所给的网站后,发现全英文,很多东西不理解什么意思,但还是下载了一个org.eclipse.ptp_4.0.5.201011100956,看到文件标志后很吃惊,发现是一个咖啡杯的标志,自己都不知道是不是这个文件,后面进到网站看了安装步骤,还是全英文,挺多的,磨了很久看不懂什么意思。
之后把目光转向了第三个实验matlab,因为我平时对数学比较感兴趣,所以很想通过这个实验学到我感兴趣的知识。
在网上搜到下载Linux环境下的matlab软件的网址,进去后也是全英文,而且怎么搜进入的都是那个网站,进去之后很多都看不懂,弄了一个下午还是没做得什么很失望,然而时间有很紧,心理面有那种悔恨自己的感觉,如果早一点知道会计学考试是开卷的话,那就可以花更多的时间来做Linux实验了。
但是最主要的是抓紧时间做完实验写报告,所以就又去做第一个实验,当安装到tomcat时,发现红旗4.0不怎么好用,因此把它卸载了,重新安装红旗6.0。
但是问题来,怎么装都只是最后出现了空白界面,上面一个图标都没有,鼠标也点不进去,很恼火也很着急。
所以最后把虚拟机都卸载了重新再装,终于在牺牲了一个午休之后成功了。
下载mysql后发现两个文件都是媒体文件,以为下载错了,想用暴风影音打开看看,结果没打开,后来发现其他同学下载的也都是那个形式,才放心使用。
做这个实验,很大程度上都要执着,否则有可能做不下去。
这个实验让我从没弄一条指令看一下书到什么都不用看的熟练,所以我想我有收获了。
然而不仅仅是这些,通过几次进入英文网站很多都看不懂,真正深刻地体会到了英语的重要性。
计算机和英语的关系太紧密了,索性现在还有学好英语的机会,所以为了更好的深入学习,我就要更加努力地学好英语。
同时也很纳闷,为什么有了英文网站就没人把那些安装步骤翻译成中文发布在网上呢?
难道是除了我这样的菜鸟,每个学习计算机编程开发软件的人英语都很好吗,我不由的深思。
在做实验过程中我比很多人少走弯路,我觉得这和认真有关,先看完是要步骤再做会更加容易一些,如果看一步做一步根本就不知道自己做那一步是为了实现什么目标。
我想,自己的一点一滴进步,离不开杨老师的悉心指导和严格要求,所以我感谢杨林峰老师!
六、附录
1、程序界面,运行过程抓图及简要解释。
(如下)
2、参考文献(网站)
http:
//www.