`

用户登录系统的演变(model1到mvc)

 
阅读更多

model1--->model1.x---->mvc(model2)

 1.Login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    </head>
  
  <body>
    <form action="/jsp1/LoginCheck.jsp" method="post">
    	用户名:<input type="text" name="id"/><br>
    	密    码:<input type="password" name="passw"/><br>
    	<input type="submit" value="提交"/>
    	<input type="reset" value="重置"/>
    	<hr>
    </form>
  </body>
</html>

 2.LoginCheck,jsp

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'LoginCheck.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  <%!
  	//定义数据库驱动(全局变量)
  	public static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //sqlserver 驱动
  	public static final String DBURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Demo";//数据库连接地址
  	public static final String DBUSER = "sa"; //数据库用户名
  	public static final String DBPASSW = "Founder123";//密码
   %>
   <%
   	Connection conn = null; //声明数据库连接对象
   	PreparedStatement pstmt = null;//声明数据库操作
   	ResultSet rs = null;//声明数据库结果集
   	boolean flag = false;//定义标志位
   	String id = null;
    %>
    
    <%
    	try{
    		Class.forName(DRIVER);//加载驱动
    		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSW);//获取数据库连接
    		String sql = "select * from user1 where id = ? and password = ? ";
    		pstmt = conn.prepareStatement(sql);//实例化数据库操作
    		pstmt.setString(1,request.getParameter("id"));
    		pstmt.setString(2,request.getParameter("passw"));
    		rs = pstmt.executeQuery();//执行查询
    		if(rs.next()){
    			id = rs.getString(1);
    			flag = true; //标记为true,表示登陆成功
    		}
    	}catch(Exception e){
    		System.out.println(e);
    	}
    	finally{
    		try{
    			rs.close();
    			pstmt.close();
    			conn.close();
    		}catch(Exception e){}
    	}
    	
     %>
     
     <%
     	if(flag){ 
     %>
     	<jsp:forward page="login_success.jsp">
     		<jsp:param name="id" value="<%=id %>"/>
     	</jsp:forward>
     <%
     	}else{
      %>
    	<jsp:forward page="login_failure.jsp"/>
    <%} %>
  </body>
</html>

 

3.login_success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'login_success.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  	<center>
  		<h1>登陆成功</h1>
        <h2>欢迎<font color="red"><%=request.getParameter("id") %></font>光临</h2>	
  	</center>
    
  </body>
</html>

 

 

4.login_failure.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'login_failure.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <center>
    	<h2>登陆失败,请重新<a href="Login.jsp">登陆</a></h2>
    </center>
  </body>
</html>

 

分享到:
评论

相关推荐

    MVP与MVC的区别

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示.

    .Net架构MVP相关资料

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,...

    9.1 MVC 、MVP 讲解

    经过了这么多年的发展,当然会演变出不同的版本,但核心没变依旧还是三层模型Model-View-Control。 可能由于MVP、MVVM的兴起,MVC在android中的应用变得越来越少了,但MVC是基础,理解好MVC才能更好的理解MVP,MVVM。...

    Java项目:企业人事系统(java+SpringBoot+Vue+ElementUI+maven+mysql)

    相对于MVC模式和MVP来说,MVVM是一个比较新的开发架构,它是一种将MVP模式与WPF相结合应用方式发展演变而成的新型开发架. 前后端分离是指将前端和后端从之前的全部由后端负责中分离开来,不再共用一个Server,前端作为一...

    基于SpringBoot的人事管理系统+论文+答辩ppt++源代码+文档说明

    相对于MVC模式和MVP来说,MVVM是一个比较新的开发架构,它是一种将MVP模式与WPF相结合应用方式发展演变而成的新型开发架[1] . 前后端分离是指将前端和后端从之前的全部由后端负责中分离开来,不再共用一个Server,前端...

    MVP模式与MVC模式

    MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,...

    Vue经典面试题_227题(部分题没答案).pdf_前端面试题

    主要区别是 MVC 中的 Controller 演变成了 MVVM 中的 ViewModel。MVVM 主要解决了 MVC 中大量的 DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。 Vue 的优点 1. 低耦合。视图(View)可以独立于 Model ...

    MVP模式 源代码

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,...

    看透springMvc源代码分析与实践

    第1章 网站架构及其演变过程2 1.1 软件的三大类型2 1.2 基础的结构并不简单3 1.3 架构演变的起点5 1.4 海量数据的解决方案5 1.4.1 缓存和页面静态化5 1.4.2 数据库优化6 1.4.3 分离活跃数据8 1.4.4 批量...

    vue高频面试题实战解答

    MVVM是Model-View-ViewModel缩写,也就是把MVC中的Controller演变成ViewModel。Model层代表数据模型,View代表UI组件,ViewModel是View和Model层的桥梁,数据会绑定到viewModel层并自动将数据渲染到页面中,视图变化...

    Android代码-ZRecyclerView

    都说是从MVC演变过来的,我相信任何一种事物的产生都有它必然的道理,既然被人总结出来,就有它的用武之地,编程中没有好与坏,只有适与不适,那么什么是MVVM? MVVM是Model-View-ViewModel的简写,同样也是分为三...

    Android中mvp模式使用实例详解

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model...

    前端开发经典面试题及答案Vue篇

    MVVM是Model-View-ViewModel缩写,也就是把MVC中的Controller演变成ViewModel。Model层代表数据模型,View代表UI组件,ViewModel是View和Model层的桥梁,数据会绑定到viewModel层并自动将数据渲染到页面中,视图变化...

    程序员面试刷题的书哪个好-Vue_Learning:Vue学习

    是一套用于构建用户界面的**渐进式框架** 与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用 Vue的核心库只关心**视图层** 常见第三方库: vue-router:路由 vue-resources:通信 vuex:管理 2.前端三要素 ...

    MVP之学习(一)

    Model-View-Presenter ;MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。

    Struts原理、开发及项目实施

    Struts原理、开发及项目实施 Holen 2002-9-12 &lt;br/&gt;1... Servlet的演变:在常规的 JSP,Servlet,JavaBean三层结构中,JSP实现View的功能,Servlet实现Controller的功能,JavaBean实现Model的实现...

    浅谈Android官方MVP架构解读

    对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的。而对于Android应用的开发中本身可视为一种MVC架构。通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中...

Global site tag (gtag.js) - Google Analytics