MVC设计模式-查询与删除
2021-03-21 10:25
标签:import 一个 模块 响应 ack type date() vax xtend MVC是Model-View-Controller的简称,即模型-视图-控制器。 模型:模型是应用程序的主体部分,模型表示业务数据和业务逻辑。 一个模型能为多个视图提供数据。 视图: 视图是用户看到并与之交互的界面,作用如下: 视图向用户显示相关的数据。 接受用户的输入。 不进行任何实际的业务处理。 控制器: 控制器接受用户的输入并调用模型和视图去完成用户的需求。 控制器接收请求并决定调用哪个模型组件去处理请求, 然后决定调用哪个视图来显示模型处理返回的数据。 粗糙的MVC设计模式- 查询与删除 1.创建examstudent表 Model模型 StudentDao.java Controller 控制器 ListAllStudentsServlet.java DeleteStudentServlet.java VIEW 视图 test students.jsp success.jsp javabean Student.java 小结: 关于 MVC: 不足: MVC设计模式-查询与删除 标签:import 一个 模块 响应 ack type date() vax xtend 原文地址:https://www.cnblogs.com/afangfang/p/12724669.html
MVC是一种设计模式,它把应用程序分成三个核心模块:package com.aff.javaweb.mvc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.aff.bean.Student;
import com.aff.util.JDBCUtilsC3P0;
public class StudentDao {
public void deleteByFlowId(Integer flowId) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = JDBCUtilsC3P0.getConnection();
String sql = "delete from examstudent where flow_Id = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, flowId);
ps.executeUpdate();
} catch (Exception e) {
} finally {
JDBCUtilsC3P0.closeResource(conn, ps, null);
}
}
public List
package com.aff.javaweb.mvc;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.aff.bean.Student;
@WebServlet("/listAllStudents")
public class ListAllStudentsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
StudentDao studentDao = new StudentDao();
List
package com.aff.javaweb.mvc;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/deleteStudent")
public class DeleteStudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String flowId = request.getParameter("flowId");
StudentDao studentDao = new StudentDao();
studentDao.deleteByFlowId(Integer.parseInt(flowId));// 把传来的string类型强转为int类型
request.getRequestDispatcher("/success.jsp").forward(request, response);
}
}
@ 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 heretitle>
head>
body>
a href="listAllStudents">ListAllStudentsa>
body>
html>
@page import="com.aff.bean.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 heretitle>
head>
body>
ListStudent> stus = (ListStudent>) request.getAttribute("students");
%>
table border="1" cellpadding="10" cellspacing="0">
tr>
td>FlowIdtd>
td>Typetd>
td>IdCardtd>
td>ExamCardtd>
td>StudentNametd>
td>Locationtd>
td>Gradetd>
td >Deletetd>
tr>
for (Student student : stus) {
%>
tr>
td>=student.getFlowId()%>td>
td>=student.getType()%>td>
td>=student.getIdCard()%>td>
td>=student.getExamCard()%>td>
td>=student.getStudentName()%>td>
td>=student.getLocation()%>td>
td>=student.getGrade()%>td>
td >a href="deleteStudent?flowId=">Deletea>td>
tr>
}
%>
table>
body>
html>
@ 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 heretitle>
head>
body>
h3>Success Pageh3>
a href="listAllStudents">List All Studentsa>
body>
html>
package com.aff.bean;
public class Student {
private Integer flowId;
private int type;
private String idCard;
private String examCard;
private String studentName;
private String location;
private int grade;
public Student() {
super();
}
public Student(Integer flowId, int type, String idCard, String examCard, String studentName, String location,
int grade) {
super();
this.flowId = flowId;
this.type = type;
this.idCard = idCard;
this.examCard = examCard;
this.studentName = studentName;
this.location = location;
this.grade = grade;
}
public Integer getFlowId() {
return flowId;
}
public void setFlowId(Integer flowId) {
this.flowId = flowId;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getExamCard() {
return examCard;
}
public void setExamCard(String examCard) {
this.examCard = examCard;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
@Override
public String toString() {
return "Student [flowId=" + flowId + ", type=" + type + ", idCard=" + idCard + ", examCard=" + examCard
+ ", studentName=" + studentName + ", location=" + location + ", grade=" + grade + "]";
}
}
M: Model. Dao
V: View. JSP, 在页面上填写 Java 代码实现显示
C: Controller. Serlvet:
受理请求
获取请求参数
调用 DAO 方法
可能会把 DAO 方法的返回值放入 request 中
转发(或重定向)页面
什么时候转发,什么时候重定向 ? 若目标的响应页面不需要从 request 中读取任何值,则可以使用重定向。(还可以防止表单的重复提交)
使用DBUtils,JDBCUtils 工具类,DAO 基类
一个请求一个 Serlvet 不好!一个模块使用一个 Serlvet,即多个请求可以使用一个 Servlet
在页面上加入 jQuery 提示