本篇博客知识点
1.什么是MVC开发模式
2.一个简单的MVC开发模式实例
MVC开发模式
MVC – 是指Model(即模型如JavaBean)、View(视图如JSP,只提供展示)、Control(控制层由Servlet担当).
Model: 模型–主要用来封装信息,封装数据。如最典型的JavaBean
View: 视图 与用户交流的界面,主要用JSP(HTLM+EL+JSTL)
Control:控制层。主要负责封装前端传过来的数据,然后调用service层,然后根据service层的返回的结果导向不同页面。
MVC还连着一个service层,主要负责事物处理和调用访问数据库的DAO层。
下面有几个示意图,看了就明白了
下面是一个简单的利用MVC模式的一个小项目(没有连接数据库)
Model: Person.java
package cn.hncu.domains;
public class Person {
private String name ;
private String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Person(){
super();
}
}
view层:登录界面 index.jsp 、欢迎界面 welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>第三代JSP技术学习~MVC模式</title>
</head>
<body>
<h2>第三代JSP技术学习~MVC模式</h2>
<hr>
<form action="<%=path%>/LoginServlet" method="post">
Name:<input type="text" name="name"><br/>
PWD:<input type="password" name="pwd"><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>欢迎界面</title>
</head>
<body>
<h2>欢迎您,<%=request.getAttribute("name")%>!</h2>
</body>
</html>
Control层:登录servlet
package cn.hncu.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hncu.dao.PersonJDBSImp;
import cn.hncu.domains.Person;
public class LoginServlet extends HttpServlet {
//注入DAO
PersonJDBSImp dao = new PersonJDBSImp();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
Person p = new Person();
p.setName(name);
p.setPwd(pwd);
boolean boo = false;
if(name!=null&&pwd!=null){
boo = dao.login(p);
}
if(boo){//登录成功导向不同结果页面
request.setAttribute("name", name);
request.getRequestDispatcher("/regs/welcome.jsp").forward(request, response);
}else{//登录失败
request.getRequestDispatcher("/regs/index.jsp").forward(request, response);
}
}
}