基于MVC的简单数据库系统管理.docx
- 文档编号:6679651
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:12
- 大小:32.52KB
基于MVC的简单数据库系统管理.docx
《基于MVC的简单数据库系统管理.docx》由会员分享,可在线阅读,更多相关《基于MVC的简单数据库系统管理.docx(12页珍藏版)》请在冰豆网上搜索。
基于MVC的简单数据库系统管理
实验4 基于MVC的简单数据库系统管理
一 、实验目的
理解MVC设计思想。
掌握基于MVC的编程技术,掌握视图层、模型层和控制层的设计思想。
二、 实验内容
用MVC思想,编写根据姓名超找学生记录的应用。
三、实验课时
2学时
4、实验步骤
1.数据库德设计
(1)创建数据库school;
(2)创建表格student;
2.模型层的设计
两个类:
StudentBean.java:
存放学生信息。
Student.java:
查询数据库
(1)Student.java
A)建立包,如ch.
B)在包中创建类StudentBean;该类中的成员变量与Student表格中的字段一一对应。
C)为每一个属性编写set和get函数。
(2)StudentDAO.java
A)在ch包中新建类StudentDAO。
B)成员变量
C)成员方法
(3)视图层的设计
三个文件
QueryForm.jsp:
为用户提供输入查询条件的表单。
QueryResult.jsp:
如果有查询到记录,则显示响应的结果。
NoResult.jsp:
如果没有查询到记录,显示提示信息。
(1)QueryForm.jsp:
该JSP页面只提供form表单。
注意:
action的配置要跟web.xml中的配置一致。
A)新建JSP文件QueryForm.jsp,编写表单
(2)QueryResult.jsp:
显示结果
A)用jsp:
useBean创建StudentBean对象stu。
B)从Servlet转发过来的request对象中获取查询结果,并用jsp:
setPropertystu设置StudentBean对象stu的成员变量。
C)使用jsp:
getProperty获取每个属性值,并显示结果
(3)NoResult.jsp:
主要显示提示信息
4.控制器Servlet的设计
5.QueryServlet.java功能:
接收用户的查询请求,并根据用户输入的姓名调用StudentDAO类查询数据库。
根据查询结果转至不同的页面.
(1)在包中创建servlet,名称为QueryServlet.java。
(2)编写doGet()方法
A)获取用户输入的参数名
B)调用JavaBean查询数据库
C)如果能够查询到满足条件的记录,则把结果存放到request范围内,并转发至QueryResult.jsp页面;否则转发至NoResult.jsp页面。
5.web.xml的配置
xmlversion="1.0"encoding="UTF-8"?
>
xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" 5、实验结果 源代码: JAVABEAN: //StudentBean.java packagech; publicclassStudentBean{ privateStringstuId; privateStringstuName; privateStringstuSex; privateStringstuBir; privateStringstuAdd; publicStringgetStuId(){ returnstuId; } publicvoidsetStuId(StringstuId){ this.stuId=stuId; } publicStringgetStuName(){ returnstuName; } publicvoidsetStuName(StringstuName){ this.stuName=stuName; } publicStringgetStuSex(){ returnstuSex; } publicvoidsetStuSex(StringstuSex){ this.stuSex=stuSex; } publicStringgetStuBir(){ returnstuBir; } publicvoidsetStuBir(StringstuBir){ this.stuBir=stuBir; } publicStringgetStuAdd(){ returnstuAdd; } publicvoidsetStuAdd(StringstuAdd){ this.stuAdd=stuAdd; } } JSP: //TestRectangle.jsp <%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>
ThisismyJSPpage.
请输入长:
请输入宽:
//StudentDAO
packagech;
importjava.sql.*;
publicclassStudentDAO{
privateConnectionconn=null;
publicvoidinitConnection(){
try{
Class.forName("com.mysql.jdbc.Driver");
DriverManager.registerDriver(newcom.mysql.jdbc.Driver());
conn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/school","root","jttqzh");
}
catch(Exceptionex)
{ex.printStackTrace();}
}
publicStudentBeanqueryStuByName(Stringsname){
StudentBeanstus=newStudentBean();
try{
System.out.println("sname1:
"+sname);
sname=newString(sname.getBytes("ISO-8859-1"),"gb2312");
Stringsql="SELECT*FROMstudentWHEREname='"+sname+"'";
initConnection();
ResultSetrs=conn.createStatement().executeQuery(sql);
while(rs.next()){
stus.setStuId(rs.getString
(1));
System.out.println(rs.getString
(1));
stus.setStuName(rs.getString
(2));
System.out.println(rs.getString
(2));
stus.setStuSex(rs.getString(3));
System.out.println(rs.getString(3));
stus.setStuBir(rs.getString(4));
System.out.println(rs.getString(4));
stus.setStuAdd(rs.getString(5));
System.out.println(rs.getString(5));
}
this.closeConnection();
}
catch(Exceptione){e.printStackTrace();}
returnstus;}
publicvoidcloseConnection(){
try{if(conn!
=null){
conn.close();
}}catch(Exceptione){}
}
}
Servlet:
//QueryServlet.java
packagech;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.RequestDispatcher;
importjavax.servlet.ServletContext;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassQueryServletextendsHttpServlet{
publicQueryServlet(){
super();
}
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringsname=request.getParameter("sName");
StudentDAOstudentDAO=newStudentDAO();
StudentBeanstus=studentDAO.queryStuByName(sname);
if(stus.getStuId()!
=null){
request.setAttribute("stus",stus);
ServletContextapplication=this.getServletContext();
RequestDispatcherrd=application.getRequestDispatcher("/QueryResult.jsp");
rd.forward(request,response);
}
else{
ServletContextapplication=this.getServletContext();
RequestDispatcherrd=application.getRequestDispatcher("/NoResult.jsp");
rd.forward(request,response);
}
response.setContentType("text/html");
PrintWriterout=response.getWriter();
out
.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
out.println("
");out.print("Thisis");
out.print(this.getClass());
out.println(",usingtheGETmethod");
out.println("");
out.println("");
out.flush();
out.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html");
PrintWriterout=response.getWriter();
out
.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
out.println("
");out.print("Thisis");
out.print(this.getClass());
out.println(",usingthePOSTmethod");
out.println("");
out.println("");
out.flush();
out.close();
}
publicvoidinit()throwsServletException{
//Putyourcodehere
}
}
JSP
//QueryForm.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>
ThisismyJSPpage.
请输入姓名:
//QueryResult.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>
useBeanid="stu"class="ch.StudentBean"scope="request">
useBean>
setPropertyname="stu"property="stuId"value="<%=((StudentBean)request.getAttribute("stus")).getStuId()%>"/> setPropertyname="stu"property="stuName"value="<%=((StudentBean)request.getAttribute("stus")).getStuName()%>"/> setPropertyname="stu"property="stuSex"value="<%=((StudentBean)request.getAttribute("stus")).getStuSex()%>"/> setPropertyname="stu"property="stuBir"value="<%=((StudentBean)request.getAttribute("stus")).getStuBir()%>"/> setPropertyname="stu"property="stuAdd"value="<%=((StudentBean)request.getAttribute("stus")).getStuAdd()%>"/> getPropertyname="stu"property="stu"property="stuId"/> getPropertyname="stu"property="stu"property="stuName"/> getPropertyname="stu"property="stu"property="stuSex"/> getPropertyname="stu"property="stu"property="stuBir"/> getPropertyname="stu"property="stu"property="stuAdd"/> //NoResult.jsp <%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>学号: 姓名: 性别: 出生日期: 住址:
截图:
6、实验心得
理解MVC设计思想。
掌握基于MVC的编程技术,掌握视图层、模型层和控制层的设计思想。
掌握jsp、servlet、JavaBean之间的关联
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MVC 简单 数据库 系统管理