JSP开发模式I实验一.docx
- 文档编号:27665499
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:16
- 大小:33.12KB
JSP开发模式I实验一.docx
《JSP开发模式I实验一.docx》由会员分享,可在线阅读,更多相关《JSP开发模式I实验一.docx(16页珍藏版)》请在冰豆网上搜索。
JSP开发模式I实验一
计算机科学与技术系
实验报告
专业名称软件工程
课程名称JavaEE技术
项目名称JSP开发模式I实验一
班级12软件工程
学号
姓名
同组人员无
实验日期2014-11-18
一、实验目的与要求:
1.1实验目的
熟悉并掌握运用JSP开发模式I(JSP+JavaBean)实现数据库CRUD基本编程。
1.2实验要求
1.熟悉并掌握运用JSP+JavaBean技术开发功能模块的基本步骤;;
2.运用相关技术(JSP+JavaBean以及JDBC)完成规定功能;
3.写出实验报告。
二、实验内容
2.1实验内容
在MyEclipse环境下运用JSP+JavaBean以及JDBC技术实现相应的数据库CRUD功能,调试运行程序。
2.2实验步骤
1.进入MyEclipse环境,新建一个WebProject;
2.设计一个数据库,包括书籍表,书籍表字段包括序号(自增主键)、书号、书名、作者、价格;
3.完成书籍基本信息管理模块的主要功能,具体包括:
3.1设计封装了书籍表信息的JavaBean;
3.2设计封装了数据库连接及释放的工具JavaBean(辅助类);
3.3设计封装了针对书籍表信息进行CRUD操作的工具JavaBean(DAO类);
3.4.利用JSP+JavaBean技术完成显示所有书籍信息的功能;
3.5.利用JSP+JavaBean技术完成对书籍信息的增加功能;
4.调试运行程序。
2.3测试数据与实验结果截图
三、实验分析与小结:
(实验过程中遇到的问题分析、产生的原因以及解决方法)
问题:
数据库没连接上还有javabean封装出现错误
产生的原因:
连接数据库时,用的是老师的代码,而我用的是mysql
解决方法:
用那个自动生成封装类,还有就是改成mysql
四、其它
(附源代码)
Bean包
packagebean;
publicclassBook{
privateintid;
privateintbooknum;
privateStringbookname;
privateStringzuozhe;
privatefloatprice;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicintgetBooknum(){
returnbooknum;
}
publicvoidsetBooknum(intbooknum){
this.booknum=booknum;
}
publicStringgetBookname(){
returnbookname;
}
publicvoidsetBookname(Stringbookname){
this.bookname=bookname;
}
publicStringgetZuozhe(){
returnzuozhe;
}
publicvoidsetZuozhe(Stringzuozhe){
this.zuozhe=zuozhe;
}
publicfloatgetPrice(){
returnprice;
}
publicvoidsetPrice(floatprice){
this.price=price;
}
}
Dao包
packagedao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.List;
importutil.DBUtil;
importbean.Book;
publicclassBookDao{
privateConnectionconn=null;
privateStatementstm=null;
privatePreparedStatementpstm=null;
privateResultSetrs=null;
publicList
{
List
DBUtildb=newDBUtil();
try
{
conn=db.getConnection();
Stringsql="select*frombookorderbyidasc";
stm=conn.createStatement();
rs=stm.executeQuery(sql);
while(rs.next())
{
Bookbook=newBook();
book.setId(rs.getInt("id"));
book.setBooknum(rs.getInt("booknum"));
book.setBookname(rs.getString("bookname"));
book.setZuozhe(rs.getString("zuozhe"));
book.setPrice(rs.getFloat("price"));
booklist.add(book);
}
}catch(Exceptione)
{
e.printStackTrace();
}
returnbooklist;
}
publicvoidBookadd(Bookbook)
{
DBUtildb=newDBUtil();
try
{
conn=db.getConnection();
Stringsql="insertintobook(booknum,bookname,zuozhe,price)values(?
?
?
?
)";
pstm=conn.prepareStatement(sql);
pstm.setInt(1,book.getBooknum());
pstm.setString(2,book.getBookname());
pstm.setString(3,book.getZuozhe());
pstm.setFloat(4,book.getPrice());
pstm.executeUpdate();
}catch(Exceptione)
{
e.printStackTrace();
}
}
}
DBUtil包
packageutil;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassDBUtil{
privateStringdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
privateStringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=Book";
privateStringuser="hucheng";
privateStringpwd="123456";
publicDBUtil(){
try
{
Class.forName(driver);
}catch(ClassNotFoundExceptione)
{
e.printStackTrace();
}
}
publicConnectiongetConnection()
{
Connectionconn=null;
try
{
conn=DriverManager.getConnection(url,user,pwd);
}catch(SQLExceptione)
{
e.printStackTrace();
}
returnconn;
}
/*publicstaticvoidmain(String[]args){
DButiltool=newDButil();
System.out.println(tool.getConnection());
}*/
publicvoidcloseConnection(Connectionconn)
{
try
{
if(conn!
=null)
{
conn.close();
}
}catch(SQLExceptione)
{
e.printStackTrace();
}
}
publicvoidcloseStatement(Statementstm)
{
try
{
if(stm!
=null)
stm.close();
}catch(SQLExceptione)
{
e.printStackTrace();
}
}
publicvoidclosePreparedStatement(PreparedStatementpstm)
{
try{
if(pstm!
=null)
pstm.close();
}catch(SQLExceptione)
{
e.printStackTrace();
}
}
publicvoidcloseResultSet(ResultSetrs)
{
try
{
if(rs!
=null)
rs.close();
}catch(SQLExceptione)
{
e.printStackTrace();
}
}
}
显示JSP页面
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@pageimport="bean.Book"%>
<%@pageimport="java.util.*"%>
<%@pageimport="dao.BookDao"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
<%List
<%BookDaobookdao=newBookDao();%>
<%booklist=bookdao.getBooklist();%>
<%for(inti=0;i { Bookbook=booklist.get(i); %><%=book.getId()%> <%=book.getBookname()%> <%=book.getBooknum()%> <%=book.getZuozhe()%> <%=book.getPrice()%>
<%}%>
添加JSP页面
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
书名 | |
书号 | |
作者 | |
价格 | |
添加处理页面JSP
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@pageimport="bean.Book"%>
<%@pageimport="java.util.*"%>
<%@pageimport="dao.BookDao"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
<%request.setCharacterEncoding("utf-8");%>
<%response.setCharacterEncoding("utf-8");%>
<%Stringbookname=request.getParameter("bookname");
Stringbooknum2=request.getParameter("booknum");
Stringzuozhe=request.getParameter("zuozhe");
Stringprice2=request.getParameter("price");
intbooknum=Integer.parseInt(booknum2);
intprice=Integer.parseInt(price2);
System.out.println(price);
Bookbook=newBook();
book.setBookname(bookname);
book.setBooknum(booknum);
book.setZuozhe(zuozhe);
book.setPrice(price);
BookDaobookdao=newBookDao();
bookdao.Bookadd(book);
List
booklist=bookdao.getBooklist();
%>
<%for(inti=0;i { Bookbook2=booklist.get(i); %><%=book2.getId()%> <%=book2.getBookname()%> <%=book2.getBooknum()%> <%=book2.getZuozhe()%> <%=book2.getPrice()%>
<%}%>
得分(百分制)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 开发 模式 实验