MVC

1.什么是MVC

MVC是Model-View-Controller的简称,即模型-视图-控制器。

2.MVC处理过程


3.MVC案例1

1)界面设计:

studentInfoQueryForm.jsp为开始查询界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h2>欢迎使用学生查询模块</h2>
	<a href="stuInfoQuery">查询学生信息</a>
</body>
</html>
studentInfoDisplayForm.jsp为信息显示界面

<%@page import="java.util.List"%>
<%@page import="com.zhaoliang.javaweb.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<table>
		<%
			List<Student> stus = (List<Student>)request.getAttribute("students");	
		%>
		<tr>
			<td>ID</td>
			<td>NAME</td>
			<td>AGE</td>
			<td>MAJOR</td>
		</tr>
		<%
			for(Student student : stus){
		%>
		<tr>
			<td><%=student.getsID() %></td>
			<td><%=student.getsName() %></td>
			<td><%=student.getsAge() %></td>
			<td><%=student.getsMajor() %></td>
		</tr>
			
		<%
			}
		%>
	</table>
</body>
</html>
2)控制类(Servlet)设计

StuInfoQueryServlet.java:用来调用相关的model类和JSP页面

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class StuInfoQueryServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		StudentDao studentDao = new StudentDao();
		List<Student> students = studentDao.queryStudentInfo();
		
		request.setAttribute("students", students);
		
		request.getRequestDispatcher("/studentInfoDisplayForm.jsp").forward(request, response);
	}

}
3)数据模型(Model)设计

Student.java:用来记录数据库中数据记录的属性数据

public class Student {

	private Integer sID;
	private String sName;
	private Integer sAge;
	private String sMajor;
	
	public Integer getsID() {
		return sID;
	}
	public void setsID(Integer sID) {
		this.sID = sID;
	}
	public String getsName() {
		return sName;
	}
	public void setsName(String sName) {
		this.sName = sName;
	}
	public Integer getsAge() {
		return sAge;
	}
	public void setsAge(Integer sAge) {
		this.sAge = sAge;
	}
	public String getsMajor() {
		return sMajor;
	}
	public void setsMajor(String sMajor) {
		this.sMajor = sMajor;
	}
	public Student(Integer sID, String sName, Integer sAge, String sMajor) {
		super();
		this.sID = sID;
		this.sName = sName;
		this.sAge = sAge;
		this.sMajor = sMajor;
	}
	public Student() {
		
	}	
}
StudentDao.java:用来连接数据库,并查询获取数据库记录数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class StudentDao {

	public List<Student> queryStudentInfo(){
		
		List<Student> students = new ArrayList<>();
		
		Connection connection = null;
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		
		try {
			String driverClass = "com.mysql.jdbc.Driver";
			String url = "jdbc:mysql:///haha";
			String user = "root";
			String password = "123456";
			
			Class.forName(driverClass);
			connection = DriverManager.getConnection(url, user, password);
			
			String sqlString = "SELECT id,stu_name,stu_age,stu_major FROM student";
			preparedStatement = connection.prepareStatement(sqlString);
			resultSet = preparedStatement.executeQuery();
			
			while(resultSet.next()){
				int sID = resultSet.getInt(1);
				String sName = resultSet.getString(2);
				int sAge = resultSet.getInt(3);
				String sMajor = resultSet.getString(4);
				Student student = new Student(sID, sName, sAge, sMajor);
				students.add(student);
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(resultSet != null){
				try {
					resultSet.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if(preparedStatement != null){
				try {
					preparedStatement.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if(connection != null){
				try {
					connection.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		return students;
	}
}

































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值