关于MVC模式的简单解释

M Model,模型层,例如登录实例中,用于处理登录操作的类;
V View,视图层,用于展示以及与用户交互。使用html、js、css、jsp、jQuery等前端技术实现;
C Controller,控制器,接受视图层的请求,将请求跳转到对应的模型进行处理,模型层处理完毕后,再将结果返回给请求处。这里用Servlet实现控制器。

实现过程分析

用户再视图层输入用户名以及密码点击提交,向控制器发出请求
控制器(Servlet)接受请求,将接受到的用户名以及密码转给模型层
模型层依据用户名和密码在数据库中进行查询,将操作结果返回给控制器
控制器经过判断返回给用户登录结果。

代码实现

项目结构图

视图层实现(index.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Login</title></head><body><form action="LoginServlet" method="post">Name:<input type="text" name="uname"><br>Pass:<input type="password" name="upwd"><br><input type="submit" value="Login"><br></form></body></html>

控制器层实现(LoginServlet)

package com.ajy.Servlet;import com.ajy.Model.LoginDao;import com.ajy.Entity.User;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;//控制器层public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理post方式登录请求request.setCharacterEncoding("utf-8");String uname = request.getParameter("uname");String upwd = request.getParameter("upwd");User user = new User(uname,upwd);response.setContentType("text/html;charset=utf-8");response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();int rs = LoginDao.Login(user);if(rs==-1){out.println("系统错误");}else if(rs==0){out.println("用户名或密码错误");}else{out.println("登录成功");}}}

模型层实现(LoginDao)

package com.ajy.Model;import com.ajy.Entity.User;import java.sql.*;//模型层,用于处理登录操作public class LoginDao {private static String DBUname = "root";private static String DBUpwd = "121181";private static String URL="jdbc:mysql://localhost:3306/anjiyubase?&serverTimezone=UTC&useSSL=false";public static int Login(User user){Connection con = null;PreparedStatement pstmt = null;ResultSet rs = null;int count = 0;try {Class.forName("com.mysql.cj.jdbc.Driver");con = DriverManager.getConnection(URL,DBUname,DBUpwd);pstmt = con.prepareStatement("select count(*) from users where uanme = ? and upwd = ?");pstmt.setString(1,user.getUserName());pstmt.setString(2,user.getUserPassword());rs = pstmt.executeQuery();if(rs.next()){count = rs.getInt(1);}} catch (ClassNotFoundException e) {e.printStackTrace();return -1;} catch (SQLException e) {e.printStackTrace();return -1;}finally {try {if (rs!=null)rs.close();if (pstmt!=null)pstmt.close();if (con!=null)con.close();} catch (SQLException e) {e.printStackTrace();return -1;}}if (count==0){return 0;}else{return 1;}}}

用户实例(User)

package com.ajy.Entity;public class User {private int id;private String UserName;private String UserPassword;public User(String UserName, String UserPassword){this.UserName=UserName;this.UserPassword=UserPassword;}public User(int id, String UserName, String UserPassword){this.id=id;this.UserName=UserName;this.UserPassword=UserPassword;}public String getUserName() {return UserName;}public void setUserName(String userName) {UserName = userName;}public String getUserPassword() {return UserPassword;}public void setUserPassword(String userPassword) {UserPassword = userPassword;}}

web.xml中的内容

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list><servlet><servlet-name>LoginServlet</servlet-name><servlet-class>com.ajy.Servlet.LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/LoginServlet</url-pattern></servlet-mapping></web-app>

数据库

转载于:https://www.cnblogs.com/HenuAJY/p/10765788.html

基于Servlet的MVC模式用户登录实例相关推荐

  1. 基于Servlet的MVC模式

    MVC模式介绍 MVC的全名是Model View Controller,是模型(model)-视图 (view)-控制器(controller)的缩写,是一种软件设计典范. 它是用一种业务逻辑.数据 ...

  2. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  3. java wed登录面 代码_Java Web用户登录实例代码

    实现功能: 1.用户登陆.注销 2.利用session记录用户登陆信息 3.在JSP中展示已登陆用户信息 实现原理: 登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到sessio ...

  4. 腾讯云Ubuntu系统如何使用 root 用户登录实例

    1.腾讯云Ubuntu 系统如何使用 root 用户登录实例? 修改root密码 执行命令sudo passwd root 按照提示输入密码(可与前密码相同便于记忆) 修改ssh配置 执行命令 sud ...

  5. php100例代码教程,php实例代码_php用户登录实例教程代码

    摘要 腾兴网为您分享:php用户登录实例教程代码,音恋,小米云盘,武魂传说,万步有约等软件知识,以及绿城党旗红,一席app,一亩田app,窝立方,fairuse4wm,超星阅读,大连农商银行,qq名片 ...

  6. Servlet——简单用户登录实例+http协议解析

    编写项目.用户登录系统1.0版本号 登录界面Servlet: package com.gavin.view;import java.io.IOException; import java.io.Pri ...

  7. Servlet系列学习笔记7 --- Cookie + Session + MVC实现免登录实例

    目录 一.实现效果 二.项目结构 三.模型 四.数据访问 五.数据控制 5.1 登录检验 5.2 访问检验 六.页面视图 6.1 登录页面 6.2 数据展示页面 一.实现效果 二.项目结构 三.模型 ...

  8. Spring MVC定制用户登录注销实现示例

    这篇文章描述了如何实现对Spring MVC Web应用程序的自定义用户访问(登录注销). 作为前提,建议读者阅读这篇文章 ,其中介绍了一些Spring Security概念. 该代码示例可从Spri ...

  9. 【java项目学习笔记】基于servlet+jsp+jdbc的注册登录系统

    目录 项目介绍 准备工作 前端实现 后端实现 项目介绍 实现效果: 首先进行注册,注册成功后自动跳转到登录界面,用先前注册的账号进行登录 注册成功和登录成功的信息会在后端控制台打印 用户注册的信息记录 ...

最新文章

  1. oracle增量 mysql_是否有任何mysql / Oracle函数给予增量号。基于另一列相似值的一列?...
  2. Visual Studio 2005 SP1安装 关键点
  3. Jenkins 服务重启方法
  4. Extjs 更换主题(转载)
  5. IIS5.1错误,启动时WEB服务提示:服务器没有及时响应启动或控制请求 之终极解决方案。...
  6. 4代hiv检测50元_闲置甩干机卖了50元!大爷突然想起:里面还有4根金条
  7. 重载和const形参
  8. XAMPP Apache + MySQL + PHP + Perl
  9. C#中全局处理异常方式
  10. vue 加载太慢_Vue首页加载过慢 解决方案
  11. html5学习笔记---05.JavaScript 中的面向对象,继承和封装
  12. Spring Cloud Alibaba基础教程:Nacos的数据持久化 1
  13. 最短路径之弗洛伊德算法
  14. 如何修复macOS上的Microsoft Edge高CPU和内存使用情况?
  15. 一起学爬虫(Python) — 03
  16. 详解Linux与Unix系统的区别与联系
  17. AWS Elastic BeanStalk 部署错误总结
  18. Android注入要点记录
  19. python识别重影验证码_python+opencv实现移动侦测(帧差法)
  20. 数据库学习7 — 嵌套查询

热门文章

  1. java日期时间轴_生成时间轴数据, 从当前 年月日 往前推到几天的日期(前一周时间、、、)...
  2. 单片机汇编语言编程_单片机编程用C语言还是汇编?
  3. 两位小数乘两位小数竖式_人教版小学数学五年级上册小数乘整数公开课优质课课件教案视频...
  4. C++ wchar_t
  5. C语言 FileStreaming(文件流)
  6. vue.js 组件基础
  7. docker 配置ssh
  8. 如何查html病毒svchost.exe,小编教你在Win7系统中检查svchost.exe进程是否为病毒的方法步骤...
  9. php 初始化model,TP5 model类研究
  10. nuget的原理_微服务架构中APIGateway原理