资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
实 验 报 告课程名称: web程序设计 实验题目: 实验四 基于MVC的简单数据库管理系统 学 院: 计算机学院 专 业: 网络工程 指导教师: 施 运 梅 日 期: 2013年 6 月 19日 实验四 基于MVC的简单数据库管理系统1、 实验目的1、理解MVC设计思想。2、掌握基于MVC的编程技术,掌握视图层、模型层和控制层的设计方法。2、 实验内容及要求用MVC思想,编写根据姓名查找学生记录的应用。三、实验步骤(1)创建数据库用MySQL创建一个名为student的数据库、设置xuehao几项并填入数据 (2)设计模型层和视图层模型层两个类:StudentBean.java:存放学生信息(实体类)。StudentDAO.java:查询数据库。视图层三个文件: QueryForm.jsp:为用户提供输入查询条件的表单。 QueryResult.jsp:如果查询到记录,则显示响应的结果。NoResult.jsp:如果没有查询到记录,显示提示信息。(3) QueryForm.jsp页面 QueryResult.jsp页面NoResult.jsp页面 StudentBean.java代码public class StudentBean private String num;private String name;private String sex;private String birth;private String add;public String getXuehao() return num;public void setXuehao(String xuehao) this.num = num;public String getName() return name;public void setName(String name) this.name = name;public String getSex() return sex;public void setSex(String sex) this.sex = sex;public String getBirth() return birth;public void setBirth(String birth) this.birth = birth;public String getAdd() return add;public void setAdd(String add) this.add = add; StudentDAO.java代码package student;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import student.StudentBean;public class StudentDAO /*此DAO用于连接数据库*/先定义一个connection,方便在以后的各个方法当中进行调用private Connection conn = null;/采用构造函数进行数据库连接的初始化public StudentDAO() try Class.forName(com.mysql.jdbc.Driver);/加载驱动conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/test,root,000120); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();public ArrayList queryLike(String sname) ArrayList al = new ArrayList();/先实例化一个容器String SQL = SELECT * FROM student WHERE name = + sname + ;try ResultSet rs = conn.createStatement().executeQuery(SQL);while(rs.next() StudentBean st = new StudentBean();/实例化一个实体类/将结果集当前记录当中的id设置给st对象当中,完成数据的封装,以下类同st.setNum(rs.getString(num);st.setName(rs.getString(name);st.setSex(rs.getString(sex);st.setBirth(rs.getString(birth);st.setAdd(rs.getString(add);al.add(st);/将结果保存在list当中 catch (SQLException e) e.printStackTrace();finally this.closeConn();/最后关闭连接return al;/将数据返回/关闭connpublic void closeConn() try if(conn !=null) conn.close();conn = null; catch (SQLException e) e.printStackTrace();QueryServlet.java代码QueryServlet.java功能:接收用户的查询请求,并根据用户输入的姓名调用StudentDAO类查询数据库。根据查询结果转至不同的页面。package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import student.StudentBean;import student.StudentDAO;public class QueryServlet extends HttpServlet /* * Constructor of the object. */public QueryServlet() super();/* * Destruction of the servlet. */public void destroy() super.destroy(); /* * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(gb2312);response.setCharacterEncoding(gb2312);String sname = request.getParameter(sname);/实例化DAO,并调用DAO的查询方法,将sname做为参数传入进去StudentDAO qd = new StudentDAO();ArrayList al = qd.queryLike(sname);/调用查询方法request.setAttribute(al, al);/将结果保存在request当中,方便jsp调用/页面跳转if(al.isEmpty()request.getRequestDispatcher(/NoResult.jsp).forward(request, response);elserequest.getRequestDispatcher(/QueryResult.jsp).forward(request, response);/* * Initialization of the servlet. * * throws ServletException if an error occurs */public void init() throws ServletException 4、 实验总结 这次实验因为上课听了老师的仔细讲解、并且参考了老师给的文件、所以
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号