武夷学院_JSP实验七_JSP数据库操作
- 格式:doc
- 大小:299.00 KB
- 文档页数:14
. . .. .. 武夷学院实验报告 课程名称:___Web应用系统开发(软件方向)__ 项目名称:_ JSP数据库操作 :_ _专业:_计算机与科学技术_ 班级:_计科3_学号: 同组成员-__无__ 实验目的: 1、使学生掌握连接数据库操作。 2、让学生掌握使用JDBC查询数据库中表的记录。 3、使学生掌握使用预处理语句向数据库的表添加记录。 实验要求: 1、使用MVC设计一个查询数据库表中记录的JSP程序。编写一个JSP页面inputDatabase.jsp,用户可以输入数据库名、表名后提交一个servlet,servlet将查询结果放入一个Javabean模型中,然后转发到inputDatabase.jsp,inputDatabase.jsp页面再显示Javabean中的数据。
2、使用MVC模式。视图部分由两个JSP页面构成,其中一个页面(insert.jsp)负责提供输入新记录的视图,即用户可以在该页面输入要添加的记录,然后将要添加的记录提交给servlet。servlet负责插入记录到数据库的表中,然后查询数据库的表,并将查询结果存储到Javabean数据模型中,然后请求视图中的另一个JSP页面(showRecord.jsp)显示数据模型中的数据。
3、提交实验报告,实验报告中要有实验过程、结果的截图说明。 . .
.. .. 二、实验过程记录1: 1、使用MVC设计一个查询数据库表中记录的JSP程序。编写一个JSP页面inputDatabase.jsp,用户可以输入数据库名、表名后提交一个servlet,servlet将查询结果放入一个Javabean模型中,然后转发到inputDatabase.jsp,inputDatabase.jsp页面再显示Javabean中的数据。
(1)建立MYSQL连接,为root密码为空,并创建warehouse数据库和product表。
1 注:实验过程记录要包含实验步骤,页码不够可自行添加。 . . .. .. (2)源代码和结果截图: 1. 源代码
inputDatabase.jsp <% page contentType="text/html;charset=gb2312" %> 数据库:
表名:
用户名(默认root):
用户密码(默认空):
Shiyan1_Servlet.java package myservlet.control; import mybean.data.Shiyan1_Bean; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Shiyan1_Servlet extends HttpServlet{ public void init(ServletConfig config) throws ServletException{ super.init(config); try { Class.forName(".mysql.jdbc.Driver"); } catch(Exception e){} } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ request.setCharacterEncoding("gb2312"); String dataBase= request.getParameter("dataBase"); . . .. .. String tableName= request.getParameter("tableName"); String user= request.getParameter("user"); String password= request.getParameter("password"); boolean boo =( dataBase==null||dataBase.length()==0); boo = boo||( tableName==null||tableName.length()==0); boo = boo||( user==null||user.length()==0); if(boo) { fail(request,response,"查询失败"); } HttpSession session=request.getSession(true); Connection con=null; Shiyan1_Bean recordBean=null; try{ recordBean=(Shiyan1_Bean)session.getAttribute("recordBean"); if(recordBean==null){ recordBean=new Shiyan1_Bean(); //创建Javabean对象 session.setAttribute("recordBean",recordBean); } } catch(Exception exp){ recordBean=new Shiyan1_Bean(); session.setAttribute("recordBean",recordBean); } String uri="jdbc:mysql://127.0.0.1/"+dataBase; try{ con=DriverManager.getConnection(uri,user,password); Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs=sql.executeQuery("SELECT * FROM "+tableName); ResultSetMetaData metaData = rs.getMetaData(); int columnCount = metaData.getColumnCount(); //得到结果集的列数 String []columnName = new String[columnCount]; for(int i=0;i columnName[i] = metaData.getColumnName(i+1); //得到列名 } recordBean.setColumnName(columnName); //更新Javabean数据模型 rs.last(); int rowNumber=rs.getRow(); //得到记录数 String [][] tableRecord=recordBean.getTableRecord(); tableRecord = new String[rowNumber][columnCount]; rs.beforeFirst(); int i=0; while(rs.next()){ for(int k=0;k