• 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
    
  • 相关阅读:
    装饰器 无惨固定模式 和 有参装饰器的固定模式
    匿名函数
    字典生成式
    列表生成式
    Centos7安装配置apache-tomcat-8.5.16.tar.gz
    Centos7安装配置jdk-8u151-linux-x64.tar.gz
    Linux CentOS7源码安装配置mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    VirtualBox新建Centos7虚拟系统
    vmware workstation 10的安装
    redhat linux rpm包安装配置mysql数据库
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6818250.html
Copyright © 2020-2023  润新知