MVC编程模式

1.关于MVC

①.M:Model   

②.V:View   

③.C:Controller

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


MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。


2.优点:对一个请求不使用MVC,Servlet、JSP都能够实现,可是这种缺点就是须要在Servlet中拼写html代码,在JSP中书写处理请求的代码

MVC的处理过程



下述代码不足之处:没有使用数据库连接池、DBUtils、DAO等等,一个请求一个Servlet,应该是多个请求(一个模块)一个Servlet,删除时候没有增加jquery。

仅仅是为了呈现样例。

此处使用 

M(DAO)

V(JSP)在页面上填写java代码实现显示

C(Servlet):受理请求,获取请求參数,调用DAO方法,把DAO的返回值放入request中,转发(重定向)页面。

来呈现。

3.代码呈现

创建学生表:id ,name ,hiredate

mvc_query.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=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 注意servlet-mapp一致 -->
	<a href="getAllStudent">获取全部学生信息</a>
</body>
</html>

mvc_query_servlet.java

/**
 * Servlet implementation class mvc_query_servlet
 */
@WebServlet("/getAllStudent")
public class mvc_query_servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {	
		request.getRequestDispatcher("/mvc_query_show.jsp")
					.forward(request, response);
	}
}

mvc_query_show.jsp

<%@page import="xixihaha.StudentDAO"%>
<%@page import="xixihaha.Student"%>
<%@page import="java.util.List"%>
<%@ 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=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table border="1" cellpadding="10" cellspacing="0">
	<tr>
		<th>IDCard</th>
		<th>Name</th>
		<th>Hire_Date</th>
		<th>Delete</th>
	</tr>
	<%
		StudentDAO dao = new StudentDAO();
		List<Student> ls = dao.getAll();
		for(Student s : ls){
	%>	
	<tr>	
		<td>
			<%=s.getIdCard() %>
		</td>
		<td>
			<%=s.getStuName() %>
		</td>
		<td>
			<%=s.getHireDate().toString() %>
		</td>
		<td> 
		<!-- get请求,区分删的是哪条信息 -->
			<a href="deleteStu?id=<%=s.getIdCard() %>">Delete</a>
		</td>
	</tr>
	<%
	}
	%>
	</table>
</body>
</html>
studentDAO.java

public class StudentDAO {

	private Connection getConnection(){
		Connection conn = null;
		String driverClass = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://127.0.0.1:3306/mydatabase";
		String user = "root";
		String password = "qiaolezi";
		try {
			Class.forName(driverClass);
			conn = DriverManager.getConnection(url, user, password);
		} catch (Exception e) {
			e.printStackTra
原文地址:https://www.cnblogs.com/cynchanpin/p/6818250.html