基于Servlet的MVC模式用户登录实例
关于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模式用户登录实例相关推荐
- 基于Servlet的MVC模式
MVC模式介绍 MVC的全名是Model View Controller,是模型(model)-视图 (view)-控制器(controller)的缩写,是一种软件设计典范. 它是用一种业务逻辑.数据 ...
- java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...
下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- java wed登录面 代码_Java Web用户登录实例代码
实现功能: 1.用户登陆.注销 2.利用session记录用户登陆信息 3.在JSP中展示已登陆用户信息 实现原理: 登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到sessio ...
- 腾讯云Ubuntu系统如何使用 root 用户登录实例
1.腾讯云Ubuntu 系统如何使用 root 用户登录实例? 修改root密码 执行命令sudo passwd root 按照提示输入密码(可与前密码相同便于记忆) 修改ssh配置 执行命令 sud ...
- php100例代码教程,php实例代码_php用户登录实例教程代码
摘要 腾兴网为您分享:php用户登录实例教程代码,音恋,小米云盘,武魂传说,万步有约等软件知识,以及绿城党旗红,一席app,一亩田app,窝立方,fairuse4wm,超星阅读,大连农商银行,qq名片 ...
- Servlet——简单用户登录实例+http协议解析
编写项目.用户登录系统1.0版本号 登录界面Servlet: package com.gavin.view;import java.io.IOException; import java.io.Pri ...
- Servlet系列学习笔记7 --- Cookie + Session + MVC实现免登录实例
目录 一.实现效果 二.项目结构 三.模型 四.数据访问 五.数据控制 5.1 登录检验 5.2 访问检验 六.页面视图 6.1 登录页面 6.2 数据展示页面 一.实现效果 二.项目结构 三.模型 ...
- Spring MVC定制用户登录注销实现示例
这篇文章描述了如何实现对Spring MVC Web应用程序的自定义用户访问(登录注销). 作为前提,建议读者阅读这篇文章 ,其中介绍了一些Spring Security概念. 该代码示例可从Spri ...
- 【java项目学习笔记】基于servlet+jsp+jdbc的注册登录系统
目录 项目介绍 准备工作 前端实现 后端实现 项目介绍 实现效果: 首先进行注册,注册成功后自动跳转到登录界面,用先前注册的账号进行登录 注册成功和登录成功的信息会在后端控制台打印 用户注册的信息记录 ...
最新文章
- oracle增量 mysql_是否有任何mysql / Oracle函数给予增量号。基于另一列相似值的一列?...
- Visual Studio 2005 SP1安装 关键点
- Jenkins 服务重启方法
- Extjs 更换主题(转载)
- IIS5.1错误,启动时WEB服务提示:服务器没有及时响应启动或控制请求 之终极解决方案。...
- 4代hiv检测50元_闲置甩干机卖了50元!大爷突然想起:里面还有4根金条
- 重载和const形参
- XAMPP Apache + MySQL + PHP + Perl
- C#中全局处理异常方式
- vue 加载太慢_Vue首页加载过慢 解决方案
- html5学习笔记---05.JavaScript 中的面向对象,继承和封装
- Spring Cloud Alibaba基础教程:Nacos的数据持久化 1
- 最短路径之弗洛伊德算法
- 如何修复macOS上的Microsoft Edge高CPU和内存使用情况?
- 一起学爬虫(Python) — 03
- 详解Linux与Unix系统的区别与联系
- AWS Elastic BeanStalk 部署错误总结
- Android注入要点记录
- python识别重影验证码_python+opencv实现移动侦测(帧差法)
- 数据库学习7 — 嵌套查询
热门文章
- java日期时间轴_生成时间轴数据, 从当前 年月日 往前推到几天的日期(前一周时间、、、)...
- 单片机汇编语言编程_单片机编程用C语言还是汇编?
- 两位小数乘两位小数竖式_人教版小学数学五年级上册小数乘整数公开课优质课课件教案视频...
- C++ wchar_t
- C语言 FileStreaming(文件流)
- vue.js 组件基础
- docker 配置ssh
- 如何查html病毒svchost.exe,小编教你在Win7系统中检查svchost.exe进程是否为病毒的方法步骤...
- php 初始化model,TP5 model类研究
- nuget的原理_微服务架构中APIGateway原理