(官方定义出门右转)
MVC(Model View Controller)模型-视图-控制器。典型的MVC就是javabean(M)+JSP(V) + servlet(C )的模式,是对DAO模式的进一步解耦合,姑且可以简单认为就是在DAO基础上多了一个servlet(充当控制器),其目的就是为了实现M和V的分离,便于前后并行开发。
实现登录
代码详见点这里
V层 login.jsp
登陆页面
用户ID:
密码:
login_success.jsp
登录成功
登陆成功
欢迎
光临
您还未登陆,请先登陆!!!
三秒后跳转到登陆页面!!!
如果没有跳转,请点这里 !
C层
com.servlet.LoginServlet
package com.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.factory.DAOFactory;
import com.vo.Person;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String path = "login.jsp";
// 1、接收传递的参数
String id = request.getParameter("id");
String password = request.getParameter("password");
// 2、将请求的内容赋值给VO类
Person person = new Person();
person.setId(id);
person.setPassword(password);
try {
// 进行数据库验证
if (DAOFactory.getPersonDAOInstance().login(person)) {
// 如果为真,则表示用户ID和密码合法
// 设置用户姓名到session范围之中
request.getSession().setAttribute("uname", person.getName());
// 修改跳转路径
path = "login_success.jsp";
} else {
// 登陆失败
// 设置错误信息
request.setAttribute("err", "错误的用户ID及密码!!!");
}
} catch (Exception e) {
}
// 进行跳转
request.getRequestDispatcher(path).forward(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
this.doPost(request, response);
}
}
小结
优点:MVC代码重用性高耦合性低,彻底把视图层和业务层分离,可以前后端并行开发。
你的点赞将会是我最大的动力