JSP+JDBC班级留言板.docx
《JSP+JDBC班级留言板.docx》由会员分享,可在线阅读,更多相关《JSP+JDBC班级留言板.docx(31页珍藏版)》请在冰点文库上搜索。
![JSP+JDBC班级留言板.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/77306ecd-e301-429d-bbab-4bc46a0df2ce/77306ecd-e301-429d-bbab-4bc46a0df2ce1.gif)
JSP+JDBC班级留言板
第一女子学院
课程设计论文
课题名称:
JSP+JDBC的班级留言管理程序
学生姓名:
紫曈
班级:
08网络
指导教师:
zqf
二○壹○年六月二十三日
题目:
JSP+JDBC的班级留言管理程序
[摘要]
用户登陆之后,可以发表、修改、浏览全部、查询、删除留言。
[关键词]
JSP的基础语法request对象response对象session对象JDBC操作HTML表单
目录
第1章JavaWeb应用开发简介4
1.1什么是Web编程4
1.2JSP简介4
1.3JSP的优点4
1.3.1跨平台运行4
1.3.2执行效率高5
1.3.3服务器端组件支持5
1.3.4数据库支持5
第2章班级留言板的分析8
第3章班级留言板的数据库设计
3.1用户信息表(person)9
3.2留言表(note)9
第4章网络留言板的基本框架10
第5章网络留言板系统各功能模块的设计和实现
5.1公共模块10
5.1.1“gcl_include.jsp”文件10
5.2用户登陆界面11
5.3欢迎界面12
5.4留言板管理页面13
5.5添加留言页面15
5.6查询留言17
5.7修改留言页面18
5.8删除留言21
总结与体会23
附录1插图清单24
附录2查表清单24
第1章JavaWeb应用开发简介
WWW是目前Internet上的主要服务类型之一,WWW的基础是基于HTML的页面,使用在HTML基础上的脚本语言进行应用程序开发,可以创建动态生成内容的Web页面。
JSP是一种在服务器端编译执行的Web设计语言,其脚本语言采用Java,并继承了Java的所有优点。
1.1什么是Web编程
Web编程简单地说是基于WWW的Internet上的应用程序开发,随着Internet的普及与传播,越来越多的人通过WWW走进网络世界的大门。
CGI(CommonGatewayInterface)应用程序的第一次引入了动态交互的概念,这些运行于服务器端的脚本程序通常用Perl语言或C语言写成,需要编译才能运行。
随着Web应用程序技术的发展,CGI所引入的动态内容概念被很多新技术所实现和发展,基于程序运行的地点大致可以分为两大类:
一类是随着HTML页面下载并运行于客户端的程序脚本,例如ActiveX控件,DHTML,JavaApplet和JavaScript;另一类程序是基于服务器端的技术,例如ActiveServerPage(ASP),PHP,JavaServerPage(JSP),JavaServlet等。
1.2JSP简介
JSP[1]是JavaServerPage技术的缩写,是由Java语言的创造者Sun公司提出、多家公司参与制定的动态网页技术标准。
通过在传统的(*.html,*.htm)中加入Java代码和JSP标记,构成后缀为*.jsp的JSP网页文件。
Web服务器在遇到访问JSP页面的请求时,首先执行其中的代码片断,然后将执行的结果以普通HTML方式返回客户浏览器,JSP页面中的程序代码在客户端是看不到的。
这些内嵌的Java程序代码可以完成数据库的操作、文件上传、网页重定向、发送电子邮件的等功能,所有的操作均在服务器端进行,客户端得到的仅仅是运行的结果,因而对客户浏览器的要求很低。
JSP有JavaServlet技术为基础,利用可跨平台运行的JavaBeans组件,可以方便的操作数据库,执行各种复杂的查询,使逻辑处理和显示互相分离。
1.3JSP的优点
1.3.1跨平台运行
JSP的最大优势在于平台可移植性,利用Java语言的平台无关性,任何JSP程序只要编译一次,就可以在任何服务器平台使用。
1.3.2执行效率高
JSP在服务器端被Java虚拟机编译成Servlet执行,编译的过程只在第一次执行时进行,以后Servlet对于每个客户端请求都使用内存中的同一副本处理,而不像CGI那样需要为每个请求创建单独的进程,而只要在Java虚拟机中装载一个Servlet,因而节省了大量的服务器资源,执行时性能优化,代码效率高。
1.3.3服务器端组件支持
服务器端编程语言往往由于缺少强大的服务器组件支持而受到限制,JSP使用成熟的JavaBeans技术,可以轻松得到各种服务器组件的支持。
1.3.4数据库支持
JSP技术利用Java语言的数据库操纵能力可以与任何JDBC兼容数据库建立连接,执行常用的查询、添加、更新、删除操作和复杂的逻辑代数。
利用Sun公司开发的JDBC-ODBC桥,JSP还可以访问现有的ODBC(OpenDataBaseConnection)[2]驱动的数据库系统。
目前市场上的主流数据库产品都带有ODBC支持,所以JSP可以访问Oracle、MicrosoftSQLServer和MySQL等数据库产品。
第2章班级网络留言板的分析
网络留言板,即班级留言管理程序,是一个可以在用户登陆以后,进行查询、发表、修改、浏览全部、删除留言等功能。
用户使用ID及PASSWORD登录网上留言版,随后进入欢迎界面,然后留言管理页面,根据用户需要,看是否要查找、添加、修改或删除留言。
根据以上分析,网络留言板应该具有如下功能:
2.1用户登陆
用户在进入留言板前,必须验证身份。
即只有已注册的用户才能进行留言管理。
2.2添加留言
用户可以在留言板上添加留言。
2.3查询留言
查询出现所要查询字的相关留言信息。
2.4修改留言
用户登录系统后,可以修改留言信息。
2.5删除留言
用户登录系统后,删除数据库留言。
第3章网络留言板的数据库设计
根据以上的分析,设计出下面的数据库表。
3.1用户信息表(person)
用户信息表实,主要用来记录用户的详细信息。
用户信息表如表3-1所示
表3-1用户信息表
列名
数据类型
是否为空
说明
id
varchar(20)
否
id,主键
name
varchar(20)
否
用户姓名
password
Varchar(20)
否
密码
3.2留言表(note)
留言表,主要用于记录用户留言信息。
留言表表详细信息如表3-2所示:
表3-2留言表
列名
数据类型
是否为空
说明
id
varchar(20)
否
留言序号,主键,自动增长
title
varchar(20)
否
主题
author
varchar(20)
否
留言者
content
varchar(200)
否
内容
第4章网络留言板的基本框架
网络留言程序目录部署如图4-1所示:
第5章网络留言板系统各功能模块的设计和实现
5.1公共模块
5.1.1“gcl_include.jsp”文件
“gcl_include.jsp”文件包含其它JSP文件中需要的登陆验证。
“gcl_include.jsp”文件的程序清单如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%
if(session.getAttribute("name")==null){
request.setAttribute("error","您没有登录,请您先登录!
!
");
request.getRequestDispatcher("/gcl_login.jsp").forward(request,response);
}
%>
5.2用户登陆界面
用户登陆界面如图5-1所示:
图5-1用户登陆册页面运行效果
用户登陆页面程序“gcl_login.jsp”
代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'gcl_login.jsp'startingpage
--
-->
--
.STYLE1{
color:
#66FFCC;
font-weight:
bold;
font-size:
36px;
font-family:
"楷体";
}
.STYLE2{
font-family:
"CourierNew",Courier,monospace;
font-size:
16px;
font-weight:
bold;
color:
#FFCCFF;
}
-->
08网络留言板
用户登录页面
<%
if(request.getAttribute("error")!
=null){
%>
<%=request.getAttribute("error")%>
<%}
%>
用户名:
|
密 码: | |
| |
上述程序主要是定义一个表单以及相关的输入框,用于输入用户信息。
填写完毕单击“登陆”按钮,程序会检验用户名和密码是否能在数据库查找到。
5.3欢迎界面
用户登陆界面如图5-2所示:
图5-2欢迎页面运行效果
5.4留言板管理页面
用户登陆界面如图5-3所示:
如图5-3留言板界面效果
言办管理页面程序“gcl_list_notes.jsp”如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%@pageimport="java.sql.Connection"%>
<%@pageimport="java.sql.DriverManager"%>
<%@pageimport="java.sql.PreparedStatement"%>
<%@pageimport="java.sql.ResultSet"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'gcl_list_notes.jsp'startingpage
--
-->
--
.STYLE1{
color:
#66FFCC;
font-weight:
bold;
font-size:
36px;
font-family:
"楷体";
}
.STYLE2{
font-family:
"CourierNew",Courier,monospace;
font-size:
16px;
font-weight:
bold;
color:
#FFCCFF;
}
-->
includepage="gcl_include.jsp">
include>
08网络班级留言板
留言管理列表
请您输入查询内容:
留言编号
标题
作者
内容
操作
|
<%!
StringDBDRIVER="com.mysql.jdbc.Driver";
StringDBURL="jdbc:
mysql:
//localhost:
3306/guestbook";
StringDBUSER="root";
StringDBPASSWORD="jsj";
Connectionconn=null;
PreparedStatementpstmt=null;
ResultSetrs=null;
Stringsql=null;
intresult=0;
%>
<%
request.setCharacterEncoding("utf-8");
Stringkeyword=request.getParameter("keyword");
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
if(keyword==null){
sql="selectid,title,author,contentfromnote";
}else{
sql="selectid,title,author,contentfromnotewheretitlelike?
orauthorlike?
orcontentlike?
";
}
pstmt=conn.prepareStatement(sql);
if(keyword!
=null){
pstmt.setString(1,"%"+keyword+"%");
pstmt.setString(2,"%"+keyword+"%");
pstmt.setString(3,"%"+keyword+"%");
}
rs=pstmt.executeQuery();
while(rs.next()){
result++;
intid=rs.getInt
(1);
Stringtitle=rs.getString
(2);
Stringauthor=rs.getString(3);
Stringcontent=rs.getString(4);
title=title.replaceAll(keyword,""+keyword+"");
author=author.replaceAll(keyword,""+keyword+"");
content=content.replaceAll(keyword,""+keyword+"");
%>
<%=id%> | <%=title%> | <%=author%> | <%=content%> | id=<%=id%>">修改|id=<%=id%>"onclick="javascript: returnp_del()">删除 |
<%
}
if(result==0){
%>
这个班级的同学太懒,一条留言都没有,这样很不好!
|
<%
}
rs.close();
pstmt.close();
conn.close();
}catch(Exceptione){
e.printStackTrace();
}
%>
添加新留言
5.5添加留言页面
添加留言如图5-4所示:
如图5-4添加留言页面效果
添加留言程序“gcl_insert.jsp”如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'gcl_insert.jsp'startingpage
--