JSP实训报告.docx
- 文档编号:2977515
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:14
- 大小:65.43KB
JSP实训报告.docx
《JSP实训报告.docx》由会员分享,可在线阅读,更多相关《JSP实训报告.docx(14页珍藏版)》请在冰豆网上搜索。
JSP实训报告
一、实习内容
1、问题的提出
无论是在商业网站还是在社区中,留言板都是一种重要的功能,通过留言板,用户可以将自己的想法、感受等发表出来以更好地进行交流。
留言板的基本功能是让使用者撰写留言或者查看别人的留言。
一个功能完善的留言板也有着复杂的功能,这种复杂性主要表现在留言板的管理权限和留言丰富的表现形式两个方面。
本次实训项目介绍使用纯文本的留言,并具有添加和删除的权限。
2、问题分析与总体设计
(1)包含模块
①撰写留言模块
功能比较单一,就是给出表单,让撰写者填写留言的标题和内容。
一般来说,这个模块要注意的是对留言权限的限制,不同的权限具有不同的功能要求,有的系统允许不登录(匿名)留言,有的系统只有登录过的用户才能留言。
本项目允许匿名留言,由JSP、JavaBean、Serlet共同实现,JSP负责显示留言撰写页面,JavaBean完成数据库的连接及添加操作,Serlet负责执行留言记录的添加。
阅读留言模块
由JSP和JavaBean共同完成,JavaBean完成数据库的连接及查询查询操作,JSP负责显示具体的留言内容,包括留言人、日期、E-mail、留言主题、留言内容、多余留言的分页显示。
留言管理模块
主要负责留言的删除操作,由JavaBean和Serlet共同实现,JavaBean负责数据库的连接及删除操作,Serlet执行留言记录的删除。
(2)MVC模式
MVC(model-view-controller,模型-视图-控制器)模式的核心思想是将整个程序代码分成既相对独立又能协同工作的3个组成部分。
①模型:
业务逻辑层。
实现具体的业务逻辑、状态管理的功能。
②视图:
表示层。
即与用户实现交互的界面,通常实现数据的输入和输出功能。
③控制器:
控制层。
起到控制整个业务流程的作用,实现视图和模型部分的协同工作。
(3)数据库设计
在SQLServer中新建数据库message,新建数据表mas,其中“留言id”字段数值为自动编码,表的结构如图所示:
3、项目实现(依据MVC模式)
(1)模型(DB.com)
DB.conn代码:
packageapp63;
importjava.sql.*;
publicclassDBconn{
StringDBDriver="sun.jdbc.odbc.Jdbc.OdbcDriver";
StringConnstr="jdbc:
odbc:
message";
Connectioncon=null;
ResultSetrs=null;
publicDBconn(){
try{
Class.forName(DBDriver);
}
catch(ClassNotFoundExceptione){
System.err.println("DBconn:
classnotfoundexception");
}
}
publicvoidexecuteInsert(Strings){
inti=0;
Statementsql;
try{
//con=DriverMananger.get.Connection(Connstr,username,password);
con=DriverManager.getConnection(Connstr);
sql=con.createStatement();
i=sql.executeUpdate(s);
}
catch(SQLExceptionsqlexception){
System.err.println("executeInsert:
"+sqlexception.getMessage());
}
}
publicResultSetQuerysimple(Strings){
rs=null;
Statementsql;
try{
con=DriverManager.getConnection(Connstr);
sql=con.createStatement();
rs=sql.executeQuery(s);
}
catch(SQLExceptionsqlexception){
System.err.println("executeQuery:
"+sqlexception.getMessage());
}
returnrs;
}
publicvoidexecuteDelete(Strings){
Statementsql;
try{
//con=DriverManager.getConnection(Connstr);
sql=con.createStatement();
sql.executeUpdate(s);
}
catch(SQLExceptionsqlexception){
System.err.println("executeDelete:
"+sqlexception.getMessage());
}
}
publicintexecuteUpdate(Strings){
inti=0;
Statementsql;
try{
con=DriverManager.getConnection(Connstr);
sql=con.createStatement();
i=sql.executeUpdate(s);
}
catch(SQLExceptionsqlexception){
System.err.println("executeUpdate:
"+sqlexception.getMessage());
}
returni;
}
publicvoidclose(){
try{
if(rs!
=null)
rs.close();
if(con!
=null)
con.close();
}
catch(SQLExceptionsqlexception){
System.err.println("close:
"+sqlexception.getMessage());
}
}
}
strConvert代码:
packageapp63;
publicclassStrConvert{
publicStrConvert(){
}
publicStringchStr(Stringstr){
if(str==null){
str="";
}
else{
try{
str=(newString(str.getBytes("ISO-8859-1"),"GB2312")).trim();
}
catch(Exceptione){
System.out.println("chStr");
System.out.println(e.getMessage());
}
}
returnstr;
}
}
(2)视图(message.jsp)截图
单击“增加留言”连接即可进入添加留言页面,如图所示:
Message.jsp的视图代码:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
useBeanid="con"class="app63.DBconn"scope="request"/>
<%
Stringsqli="SELECT*FROMmasORDERBY留言idDESC";
ResultSetrs=con.executeQuery(sqli);
Stringcolor="";
Stringstrpages=(String)request.getParameter("pages");
intpages=0;
if(strpages==null){
pages=0;
}else{
pages=Integer.parseInt(strpages);
}
rs.last();
intsqan=4,i=0,fcount=0;
intcount=rs.getRow();
intcountpage=count/sqan;
if(count%sqan>0)countpage=countpage+1;
if(pages<0)pages=0;
if(pages>countpage-1)pages=countpage-1;
fcount=pages*sqan+1;
intfpage=(count-fcount)/sqan+1;
rs.absolute(fcount);
rs.previous();
while(rs.next()){
intid=rs.getInt("留言id");
Stringusername=rs.getString("留言人");
Stringtime=rs.getString("留言时间");
if(masinfo==null)masinfo="";
if(color==""){
color="#ffffff";
}else{
color="";
}
%>
<%=username%>
<%=time%>
<%=topic%>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 报告