JavaWeb/ MVC模式的初次实践
一、对MVC的个人理解
MVC模式是一种开发软件的设计思路,它将软件的视图(view)、控制(control)、模型(model)分离,实现了软件各部分分离,让各种功能代码各司其职,大大提高了软件的开发效率。
视图负责数据的展示工作,我们能够直观看到的网页等等就是视图来控制的。
模型负责数据的保存工作,这部分建立起一个事物的模型,保存用户输入等数据,是模式的核心(个人理解),能承上(获得控制层给到的数据)启下(将数据交给视图层来展示)。
控制负责对数据的处理指挥,逻辑控制工作,与模型直接关联。其所处理的数据,多半是要重新送回到模型中来。如我这次的demo,用户登陆的账号密码,做出判断后要将状态数据重新传递回模型之中。
二、demo介绍
下面是小demo
demo由三部分组成。
第一部分是视图层,视图层由两个jsp文件组成,分别是login.jsp与result.jsp。
第二部分是模型层,模型层由一个javabean文件组成,是loginBean.java
第三部分是控制层,控制层由一个Servlet文件组成,是LoginManage.java
三、demo展示
login.jsp
1 <%-- 2 Created by IntelliJ IDEA. 3 User: a1191 4 Date: 2019/9/25 5 Time: 20:51 6 To change this template use File | Settings | File Templates. 7 --%> 8 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 <html> 10 <head> 11 <title>登陆界面</title> 12 </head> 13 <body> 14 <form action="login" method="get"> 15 <h1>登陆</h1> 16 用户名:<input type="text" name="username"><br> 17 密码:<input type="password" name="password"><br> 18 <input type="submit"> 19 20 </form> 21 </body> 22 </html>
result.jsp
1 <%-- 2 Created by IntelliJ IDEA. 3 User: a1191 4 Date: 2019/9/25 5 Time: 20:59 6 To change this template use File | Settings | File Templates. 7 --%> 8 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 <jsp:useBean id="userdata" type="JAVAbean.loginBean" scope="session"></jsp:useBean> 10 <html> 11 <head> 12 <title>通知</title> 13 </head> 14 <body> 15 <h1><jsp:getProperty name="userdata" property="login"></jsp:getProperty></h1> 16 <h1>你输入的属性名:</h1> 17 <h1><jsp:getProperty name="userdata" property="username"></jsp:getProperty></h1> 18 <h1>你输入的属性名:</h1> 19 <h1><jsp:getProperty name="userdata" property="password"></jsp:getProperty></h1> 20 </body> 21 </html>
LoginManage.java
1 package Servlet; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.annotation.WebServlet; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 import javax.servlet.http.HttpSession; 9 import java.io.IOException; 10 import JAVAbean.*; 11 @WebServlet(name = "LoginManage") 12 public class LoginManage extends HttpServlet { 13 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 14 doGet(request,response); 15 } 16 17 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 18 //先创建javaben对象 19 loginBean userdata = new loginBean(); 20 //将userdata与session绑定 21 HttpSession session = request.getSession(); 22 session.setAttribute("userdata",userdata); 23 //利用request对象从登陆页面获取用户输入的账号密码,并且进行正确验证。 24 String username = request.getParameter("username"); 25 String password = request.getParameter("password"); 26 String login = "登陆失败"; 27 if(username.equals("wuzhengyu") && password.equals("111111")) { 28 login = "登陆成功"; 29 } 30 // 将账号密码登陆状态返回给userbean中 31 userdata.setPassword(password); 32 userdata.setUsername(username); 33 userdata.setLogin(login); 34 //重定向到result.jsp中 35 response.sendRedirect("result.jsp"); 36 } 37 }
loginBean.java
1 package JAVAbean; 2 3 public class loginBean { 4 private String username; 5 private String password; 6 private String login; 7 public loginBean(){} 8 9 public String getLogin() { 10 return login; 11 } 12 13 public void setLogin(String login) { 14 this.login = login; 15 } 16 17 public void setUsername(String username) { 18 this.username = username; 19 } 20 21 public void setPassword(String password) { 22 this.password = password; 23 } 24 25 public String getUsername() { 26 return username; 27 } 28 29 public String getPassword() { 30 return password; 31 } 32 }
以上就是今天的学习啦