java_web:基于mvc设计模式实现用户登录操作
基于mvc设计模式实现用户登录操作
知识点补充:mvc理论知识
应用实例:创建一个jsp页面login,将其表单数据发送到类LoginServlet中,在该类调用类LoginDao实现用户登录操作。
若登录成功则跳转到welcome.jap,否则跳回login.jsp
项目目录结构图
1.创建好需要用到的数据库与数据表
create database test;
use test;
drop table if exists login;
create table login(l_id int not null primary key,l_name varchar(20),l_pwd varchar(20)
)
insert into login (l_id,l_name,l_pwd) values(1,'小尘','123abc');
select * from login;
select count(*) from login where l_name='小尘' and l_pwd='123abc';
2.导入相关数据库驱动包到目录WebContent/WEB-INF/lib下,选中该驱动包:右键build path—>add build path
3.在WebContent目录下创建login.jsp和welcome.jsp页面
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action="LoginServlet" method="post">用户名:<input type="text" name="uname"><br>密码:<input type="password" name="upwd"><br><input type="submit" value="登录"></form>
</body>
</html>
welcome.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
登录成功!!!
</body>
</html>
4.创建com.xiaochen.entity包,在该包内创建类Login
Login.java
package com.xiaochen.entity;public class Login {private int id;private String name;private String pwd;public Login() {}public Login( String name, String pwd) {super();this.name = name;this.pwd = pwd;}public Login(int id, String name, String pwd) {super();this.id = id;this.name = name;this.pwd = pwd;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}
5.创建com.xiaochen.dao包,在该包内创建类LoginDao
LoginDao.java
package com.xiaochen.dao;import java.sql.*;import com.xiaochen.entity.Login;public class LoginDao {//return 1:登录成功//return 0:登录失败//return -1:系统异常public static int login(Login login) {Connection con=null;PreparedStatement pstmt=null;ResultSet rs=null;int count=-1;String DRIVER="com.mysql.jdbc.Driver";String URL="jdbc:mysql://localhost:3306/test";String NAME="root";String PWD="123abc";try {//加载具体的驱动类Class.forName(DRIVER);//连接数据库con=DriverManager.getConnection(URL,NAME,PWD);//获取数据操作数据库对象String sql="select count(*) from login where l_name=? and l_pwd=?";//操作数据库pstmt=con.prepareStatement(sql);//从实体类获取名字与密码,将其值赋予sql语句的占位符pstmt.setString(1, login.getName());pstmt.setString(2, login.getPwd());//返回结果rs=pstmt.executeQuery();while(rs.next()!=false) {//若查询成功则表示登录成功,将其值赋予resultcount=rs.getInt(1);}if(count>0)//登录成功return 1;else //登录失败 return 0;} catch (ClassNotFoundException e) {e.printStackTrace();return -1;} catch (SQLException e) {e.printStackTrace();return -1;}catch (Exception e) {e.printStackTrace();return -1;}finally {try {//关闭jdbc三幻神if(rs!=null) rs.close();if(pstmt!=null) pstmt.close();if(con!=null) con.close();} catch (SQLException e) {e.printStackTrace();return -1;} } }
}
6.创建com.xiaochen.controller包,在该包内创建类LoginServlet
LoginServlet.java
package com.xiaochen.controller;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.xiaochen.dao.LoginDao;
import com.xiaochen.entity.Login;@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);//设置编码格式request.setCharacterEncoding("utf-8");//获取login.jsp传来的用户名与密码String name=request.getParameter("uname");String pwd=request.getParameter("upwd");//将这两个数据封装到实体类LoginLogin login=new Login(name,pwd);//将封装后的数据传到LoginDao使用int result=LoginDao.login(login);//登录成功,跳转到welcome.jsp页面if(result>0) {response.sendRedirect("welcome.jsp");}//登录失败,跳回登录页面重新登录else {response.sendRedirect("login.jsp");}}}
运行结果图
java_web:基于mvc设计模式实现用户登录操作相关推荐
- 基于MVC模式的用户登录
第1关:编写用户登录页面. 本关我们要实现的是登陆功能的第一步:编写登陆表单,在jsp中编写表单,设置用户名字段userName和用户密码字段password,并设置请求的servlet路径为logi ...
- MVC框架实现用户登录注册功能(连接数据库)
目录 一.简单理解MVC框架 二.项目结构 三.项目源码 3.1 User 3.2 UserDao 3.3 RegisterDao 3.4 servletControll 3.5 servletCon ...
- java实现登录注册案例_Java基于IO版实现用户登录注册的案例
下面小编就为大家带来一篇基于IO版的用户登录注册实例(Java).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 今天学的是用户登录注册功能. 4个包: itcast.c ...
- 基于 JSP + Servlet 的用户登录验证
综合案例--基于 JSP + Servlet 的用户登录验证 [例6-1] 实现一个简单的用户登录验证程序,如果用户名是 abc ,密码是 123,则显示欢迎用户的信息,否则显示"用户名或密 ...
- java管理和用户用一个入口登录_五、基于Struts的MVC案例:用户登录
通过上一部分内容的学习,我们已经能完全看懂简单的Struts程序,并且知道通过增加Action来增加业务功能的实现,通过struts.xml实现路由映射,并通过JavaBean来传递数据. 本着应用就 ...
- 关于.net mvc用sqlhelper实现用户登录操作executereader函数的使用报错
通过控制器获取html中post获取到了username和password字段数据后通过三层结构传递给dll函数从而实现登录操作 dll中代码如下: public UserList Login(Use ...
- 【微信公众号】微信集成功能--扫描二维码完成用户登录操作
目录 需求来源 实现思路 1.进入登录页面,生成微信公众号的临时二维码: 2.用户通过微信扫一扫二维码: 3.登录页面定时查询扫码结果: 代码实现(基于Laravel框架前后端混合) HTML PHP ...
- 【微信小程序】如何利用云开发控制台的数据库实现用户登录操作。
微信小程序可以使用授权登录来获取用户的信息,免打扰的操作让用户省了不少心,但是开发者在设计登录和注册的页面时,总是避免不了使用数据库,而且后续还需要从云开发控制台的数据库中获取用户信息,因此登录和云开 ...
- 基于selenium实现12306的登录操作(图形验证码识别)
说明 12306 会有如下一个图形验证码识别点击,所以必须得先点击正确图片,才能继续进行操作. 基本步骤 selenium打开对应网站,并进行截图 将图片截取出对应验证码所在图片 通过超级鹰识别出要点 ...
最新文章
- php 千万级访问量网站,承受每天百万级访问量的网站需要多少台服务器?
- linux下载软件后环境变量配置(最详细的保姆教程)——怎么找到linux下文件的路径
- ReactiveCocoa 更优雅的编程(信号探秘)
- TensorFlow 卷积神经网络实用指南 | iBooker·ApacheCN
- iOS 应用程序的生命周期浅析
- java清除缓存池_Java 缓存池(使用Map实现)
- 两个excel表格信息合并 自动匹配_别再复制黏贴了,合并两个Excel表格可以很简单!...
- 彻头彻尾理解 ConcurrentHashMap
- 惠普服务器自动装驱动安装,Win10系统不断自动安装HP打印机驱动且报错0x80240017的解决方法...
- MATLAB绘制中国地图超全教程
- 计算机基础及photoshop应用好考吗,计算机基础及Photoshop应用考试技巧
- 亚马逊测评日记: 亚马逊自养号是什么意思?测评的风险?review和feedback、rating星级评分的区别?
- 「CSS」知识点笔记:transition
- Ps编程脚本开发零基础学脚本(一)
- vite + ts + eslint全局变量配置
- 云+5g +大数据 +ai_5G + AI,设备智能(第一部分)
- C语言面试题--已知整形变量在内存中占4个字节的空间,现有一无符号整形变量a = 0x20190125,请编写函数求出变量a所占内存每个字节的值是多少?
- python中git克隆代码失败_使用Git clone代码失败的解决方法
- 运维工程师的宿命(困兽之斗)
- Hadoop: Rack Awareness Topology
热门文章
- 超神学院计算机排名,超神学院电脑版
- 训练一次得到多个模型做集成的方法
- 【腾讯云】用Java发送QQ邮件,实现天气预报推送
- 【GBase 8a MPP数据库集群】计算字符串长度 BIT_LENGTH(str)
- mysql中CONCAT()的用法
- 帆软报表获取服务器信息,帆软报表中数据查询取数的介绍
- 推箱子游戏 java_Java实现推箱子游戏
- 程序员应该读的几本书
- React 封装组件的一些心得(一)
- 计算机怎么添加隐藏的网络,手提电脑怎么连接隐藏wifi_电脑怎样连接隐藏的无线网-win7之家...