jsp技能训练.docx
《jsp技能训练.docx》由会员分享,可在线阅读,更多相关《jsp技能训练.docx(12页珍藏版)》请在冰点文库上搜索。
![jsp技能训练.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/c453c4b9-9d53-44a7-be72-3838a6315f79/c453c4b9-9d53-44a7-be72-3838a6315f791.gif)
jsp技能训练
学号__0811100216___
河北科技师范学院
信息网络开发工具技能训练
2012-2013第1学期
(题目)
院(系)名称:
工商管理学院
专业名称:
信息管理与信息系统
学生姓名:
刘子瑜
指导教师:
刘书霞黄立明
二○一二年12月
一、前言
Internet已经成为人们生活、工作、学习越来越离不开的平台。
Web技术已经不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。
例如网上电子商务、社会信息数据库等。
网络实现了远程通讯,人们能够通过计算机网络进行电子邮件的发送,召开网络会议,网上购物,甚至坐在家里就可以上大学(网上教育)。
网络有巨大的潜力待我们去开发与探索。
因此,基于web创建这个班级成绩。
JSP技术编写的程序运用要更加灵活,可扩展性更强。
具有以下优点:
(1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
(2)JSP标签可扩充性。
(3)生成可重用的组件。
(4)易于维护性。
本次技能训练的所选课题是JSP中数据库操作,建立了班级成绩管理系统,本系统主要以JSP与SQL2005作为开发基础,以MyEclipse作为开发工具,系统应有的几个基本功能模块包括:
管理员注册用户、用户登陆;成绩查询、学生选课。
二、模块设计
此系统模块要的功能是创建班级和班级管理员操作权限的实现,围绕着这个目标把系统制作划分为登录子模块、注册子模块、数据库子模块和操作模块。
1、注册、登录模块E-R图:
2、成绩查询、选课模块E-R图:
3、SQL2005数据库数据表:
(1)用户个人信息数据表(zhuce表)
(2)选课信息表(xueke表)
三、各部分功能实现步骤:
本次技能训练运用了jsp中request、response、session等内置对象,运用javabean技术传递参数值以及进行字符转换,同时运用jdbc驱动技术连接数据库,实现市数据的增、删、查、改。
1、注册:
(1)创建注册(insert.jsp)界面,由form表单构成,插入文本框和按钮。
Action为“show.jsp”;
(2)创建show.jsp页面,用于处理连接数据库、向数据库zhuce表中插入注册信息。
2、登陆:
(1)、创建登陆界面(index.jsp),由form表单构成,插入文本框和按钮。
Action为“dologin.jsp”;
(2)创建dologin.jsp页面,用于连接数据库,并查询数据表中数据,判断登录表单中输入数据是否正确,正确则跳转到班级成绩管理主页,错误则转跳到错误页面。
3、成绩查询与学生选课:
(1)创建成绩查询主页,即主页面(degree.jsp),由form表单构成,插入文本框和按钮。
成绩查询表单的Action为“chuli.jsp”;选课表单Action为“doxuan.jsp”。
(2)创建chuli.jsp和doxuan.jsp页面,负责处理成绩查询和学生选课。
(3)创建储存留言信息的Javabean“WordSingle.java”和字符转化的Javabean“WordTools.java”。
(4)处理完毕后跳转到“showxuan.jsp”显示留言信息。
(5)创建用来显示留言信息的页面(showxuan.jsp)。
四、系统界面及主要代码
1、注册:
(insert.jsp和show.jsp构成)
(1)insert.jsp代码:
<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
//转入show.jsp页面执行并显示确认信息。
学生注册 |
学号:
|
密码:
|
|
(2)show.jsp代码:
<%@pageimport="com.yxq.dao.WordTools"%>
<%@pageimport="com.yxq.dao.WordSingle"%>
<%Stringid=request.getParameter("id");
Stringpw=request.getParameter("pw");
StringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";//连接jdbc驱动
Stringurl="jdbc:
sqlserver:
//127.0.0.1:
1433;databaseName=degree";//定义数据库
Stringusername="sa";
Stringpassword="0";
Class.forName(driverClass);
Connectionconn=DriverManager.getConnection(url,username,password);//连接数据库
PreparedStatementpStmt=conn.prepareStatement("insertintozhuce(id,pw)values(?
?
)");//数据库中写入数据
pStmt.setString(1,id);
pStmt.setString(2,pw);
intrtn=pStmt.executeUpdate();
pStmt.close();
conn.close();
%>
useBeanid="myWord"class="com.yxq.dao.WordSingle"scope="request">
setPropertyname="myWord"property="*"/>
useBean>
2、登陆界面:
(包括index.jsp和dologin.jsp以及)
Dologin.Jsp代码:
<%Stringid=request.getParameter("id");
Stringpw=request.getParameter("pw");
try
{StringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Stringurl="jdbc:
sqlserver:
//127.0.0.1:
1433;databaseName=degree";
Stringusername="sa";
Stringpassword="0";
Class.forName(driverClass);
Connectionconn=DriverManager.getConnection(url,username,password);//连接数据库
PreparedStatementstat=conn.prepareStatement("select*fromzhucewhereid=?
andpw=?
");
stat.setString(1,id);//查询数据库
stat.setString(2,pw);
ResultSetresult=stat.executeQuery();//判断学号和密码是否正确
if(result.next())
{response.sendRedirect("degree.jsp");}
else
{response.sendRedirect("fault.jsp");}
}catch(Exceptione)
{out.println(e);}%>
3、成绩查询主页面:
(包括degree.jsp、chuli.jsp、doxuan.jsp、showxuan.jsp以及javabean,WordSingle.java、WordTools.java)
(1)Degree.jsp界面:
(2)、显示查询成绩结果界面:
(3)、显示选课信息:
(4)、chuli.jsp代码:
<%Stringid=request.getParameter("id");
Stringname=request.getParameter("name");//request内置对象
Stringxueke=request.getParameter("xueke");
StringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Stringurl="jdbc:
sqlserver:
//127.0.0.1:
1433;databaseName=degree";
Stringusername="sa";
Stringpassword="0";
Class.forName(driverClass);
Connectionconn=DriverManager.getConnection(url,username,password);
PreparedStatementpStmt=conn.prepareStatement("select*fromdegreewhereid=?
andname=?
andxueke=?
");//查询数据库
pStmt.setString(1,id);
pStmt.setString(2,name);
pStmt.setString(3,xueke);
ResultSetrs=pStmt.executeQuery();
if(rs.next()){out.println("成绩为:
"+rs.getString(3)+"");}//显示成绩
else{response.sendRedirect("fault.jsp");}
rs.close();
pStmt.close();
conn.close();%>
(5)、doxuan.jsp代码
<%@pagelanguage="java"import="java.util.*"import="java.sql.*"pageEncoding="gb2312"%>
<%@pageimport="com.yxq.dao.WordTools"%>//导入javabean、WordSingle.java
<%@pageimport="com.yxq.dao.WordSingle"%>//导入javabean、WordToolsjava
<%Stringid=request.getParameter("id");
Stringxueke=request.getParameter("xueke");
Stringname=request.getParameter("name");
StringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Stringurl="jdbc:
sqlserver:
//127.0.0.1:
1433;databaseName=degree";
Stringusername="sa";
Stringpassword="0";
Class.forName(driverClass);
Connectionconn=DriverManager.getConnection(url,username,password);
PreparedStatementpStmt=conn.prepareStatement("insertintoxueke(xueke,id,name)values(?
?
?
)");
pStmt.setString(1,xueke);
pStmt.setString(2,id);
pStmt.setString(3,name);
intrt=pStmt.executeUpdate();
pStmt.close();
conn.close();%>
useBeanid="myWord"class="com.yxq.dao.WordSingle"scope="request">//调用javabean方法
setPropertyname="myWord"property="*"/>
useBean>
forwardpage="showxuan.jsp"/>
(6)、showxuan.jsp代码
<%@pageimport="com.yxq.dao.WordTools"%>
useBeanid="myWord"class="com.yxq.dao.WordSingle"scope="request"/>
学号:
<%=WordTools.toChinese(myWord.getId())%> |
姓名:
<%=WordTools.toChinese(myWord.getName())%> |
课程名:
<%=WordTools.toChinese(myWord.getXueke())%> |
返回选课
(7)、WordSingle.java代码:
packagecom.yxq.dao;
publicclassWordSingle{
privateStringid;
privateStringpw;
privateStringname;
privateStringxueke;
publicStringgetName(){
returnname;}
publicvoidsetName(Stringname){
this.name=name;}
publicStringgetXueke(){
returnxueke;}
publicvoidsetXueke(Stringxueke){
this.xueke=xueke;}
publicStringgetPw(){
returnpw;}
publicvoidsetPw(Stringpw){
this.pw=pw;}
publicStringgetId(){
returnid;}
publicvoidsetId(Stringid){
this.id=id;}}
(8)、WordTools.java代码
packagecom.yxq.dao;
importjava.io.UnsupportedEncodingException;
publicclassWordTools{
publicstaticStringtoChinese(Stringstr){
if(str==null)str="";
try{str=newString(str.getBytes("ISO-8859-1"),"GB2312");
}catch(UnsupportedEncodingExceptione)
{str="";
e.printStackTrace();}
returnstr;}}
五、总结
通过大半个学期的学习,我用了一个礼拜完成了这次web网页开发工具技能训练,感觉自己对jsp语法、以及javabean、servlet、内置对象等的思想有更深层次的理解,也能够独立的进行简单的运用。
通过这次技能训练,我在网上搜集了很多的资料,也进一步对老师课上讲的只是进行了回顾和复习,至于取得了可喜的进步;同时又锻炼了我的实践能力和耐心,一段代码可能要花很长时间去研究,出现的错误要不断地去修改。
我会把这次的技能训练作为新的起点,不断加强自己在jsp动态网页设计的能力。
当然在学习的过程中,不管是现在还是将来,我都会遇到很多困难,但我知道有老师、同学以及众多的jsp开发者和爱好者的帮助,我一定会克服,最终取得好的成绩。
最后,感谢老师、同学的指导,我会和你们共同进步。