登录:

前端页面:

<body>
<form action="/webtext/LogingServlet" method="post">
<input type="text" name="username"><br>
<input type="text" name="userpassword"><br>
<input type="submit" value="登录"><br>
</form>
</body>

domain:

public class user {
private int uid;
private String username;
private String userpassword;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
@Override
public String toString() {
return "user [uid=" + uid + ", username=" + username + ", userpassword=" + userpassword + "]";
}
}

dao层:

public int load(user user) throws SQLException{
Connection conn=JDBCUtils.getConn();
String sql="select * from user where username=? and userpassword=?";
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1, user.getUsername());
pst.setString(2, user.getUserpassword());
ResultSet rs = pst.executeQuery();
int count=0;
while(rs.next()){
count=rs.getInt(1);
}
JDBCUtils.close(rs, pst, conn);
return count;
}

service层:

public boolean load(user user){
boolean flag=false;
try {
int count=Dao.load(user);
if(count==1){
flag=true;
}else{
flag=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}

登陆的同时检测登陆人数:

public class LogingServlet extends HttpServlet {
private service Service=new service();
public void init() throws ServletException {
//获取ServletContext对象
ServletContext servletContext=this.getServletContext();
//向ServletContext域存入初始count
int count=0;
servletContext.setAttribute("count", count); }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("userpassword");
user user=new user();
user.setUsername(username);
user.setUserpassword(password);
boolean flag=Service.load(user);
if(flag==true){
//获取ServletContext对象
ServletContext servletContext=this.getServletContext();
//获取当前count值
int count=(int)servletContext.getAttribute("count");
//改变count值
count++;
response.getWriter().write("success"+user+"ni shi di"+count+"ge fang wen de ren");
//刷新count值
servletContext.setAttribute("count", count);
}else{
response.getWriter().write("failure");
}
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

注册:

dao层

//注册验证
public int zhuceyz(String username) throws SQLException{
Connection conn=JDBCUtils.getConn();
String sql="select username from user where username=?";
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1, username);
ResultSet rs = pst.executeQuery();
int count=0;
while(rs.next()){
count=rs.getInt(1);
}
JDBCUtils.close(rs, pst, conn);
return count;
}
//存入注册信息
public int zhuce(user user) throws SQLException{
Connection conn=JDBCUtils.getConn();
String sql="insert into user(username,userpassword) values(?,?)";
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1, user.getUsername());
pst.setString(2, user.getUserpassword());
int row=pst.executeUpdate();
JDBCUtils.close(pst, conn);
return row;
}
}

service层

//注册验证
public boolean zhuceyz(String username){
boolean flag=false;
try {
int count=Dao.zhuceyz(username);
if(count==0){
flag=true;
}else{
flag=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
//存入注册信息
public boolean zhuce(user user){
boolean flag=false;
try {
int count=Dao.zhuce(user);
if(count==1){
flag=true;
}else{
flag=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
}

服务器端

public class ZhuceServlet extends HttpServlet {
private service Service=new service();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
while(true){
String username=request.getParameter("username");
String password=request.getParameter("userpassword");
boolean flag=Service.zhuceyz(username);
if(flag==false){
response.getWriter().write("yibeizhanyong");
return;
}else if(flag==true){
user user=new user();
user.setUsername(username);
user.setUserpassword(password);
boolean flag1=Service.zhuce(user);
if(flag==true){
response.getWriter().write("success"+user);
}else{
response.getWriter().write("failure");
}
}
return;
}
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

WEB简单的登录注册功能(分层)的更多相关文章

  1. java web 简单的登录注册

    --sql文件 create database studentgouse studentgocreate table stuinfo(--stuid int primary key identity( ...

  2. Struts2 + Hibernate3.3 开发简单的登录注册功能【J2EE】

    开发环境: IDE:Myeclipse10.0 数据库:Oracle(SQL Developer) Web容器:Tomcat 7.0 JDK:1.6 Struts:2.0 Hibernate:3.3 ...

  3. SSM 实现登录注册功能

    1.上一篇SSM框架搭建好了之后就要开始写功能了,现在来写一个简单的登录注册功能 这几个包是自己手动创建的,然后往里面写代码 2.代码详情 package com.maike.controller; ...

  4. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  5. Angular之简单的登录注册

    使用Angular实现了一个简单的登录注册的功能........ 涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻…… 里面涉及到的知识点记录: 1.本地存储的操作 ...

  6. Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  7. vue koa2 mongodb 从零开始做个人博客(一) 登录注册功能前端部分

    0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.准备工作 1.1前端框架 前端使用了基于vue.js的nuxt.js.为什么使用nuxt.js? 首先我做的是博客的项目 ...

  8. Node.js实现登录注册功能

    使用Node.js + Navicat for mysql实现的登录注册功能 数据库中存在有”user_id,user_name,password,user_img,user_number“字段,其中 ...

  9. flask 开发用户登录注册功能

    flask 开发用户登录注册功能 flask开发过程议案需要四个模块:html页面模板.form表单.db数据库操作.app视图函数 1.主程序 # app.py # Auther: hhh5460 ...

随机推荐

  1. js基础练习题(2)

    5.函数 1.按要求封装两个函数 1.封装一个函数,要求输入字符串转化成数组弹出 2.封装一个函数,要求能求出三个数中的最小值,注意:不准使用js内置函数 2.封装一个函数,求参数的和,注意:参数不固 ...

  2. 超简单集成ML kit 实现听写单词播报

    背景   相信我们大家在刚开始学习一门语言的时候都有过听写,现在的小学生学语文的时候一项重要的课后作业就是听写课文中的生词,很多家长们都有这方面的经历.不过一方面这种读单词的动作相对简单,另一方面家长 ...

  3. python冷知识

    目录 省略号也是对象 奇怪的字符串 and 和 or 的取值顺序 访问类中的私有方法 时有时无的切片异常 两次 return for 死循环 intern机制 省略号也是对象 在python中一切皆对 ...

  4. AcWing 走廊泼水节 题解

    这道题大致题意就是让一棵树任意两点有连边(也就是完全图),但是补完后最小生成树是一开始的那棵树,问最小加的边权之和是多少. 了解题意后,我们可以想到用Kruskal(废话),当每两个集合合并的时候,除 ...

  5. 解决wpf项目中无法添加OpenFileDialog 实例的问题

    直接添加引用:using Microsoft.Win32; 或者放置鼠标于OpenFileDialog OpenFileDialog ofd = new OpenFileDialog(); 操作点击

  6. 数据的编码和解码--java例子

    昨天借了一本<网络程序设计实验教程(java语言)>,然后看了第一章,一个Swing例子,于是为大家分享一下! 关于数据的编码与解码,我觉得就例子而言已经交待得非常清楚了,两种方法做的. ...

  7. 不花钱搞定PDF编辑难题

    PDF格式是专为显示而设计的格式,并不容易被编辑,市面上并没有一款可以真正免费使用的PDF编辑器. 不花钱搞定PDF编辑难题的办法: 1.免费使用PDF编辑器+去水印:免费版的PDF编辑器不是会加水印 ...

  8. 猿灯塔-Phaser 使用介绍

    原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 本文将介绍 java.util.concurrent.Phaser,一个常常被大家忽略的并发工具.它和 CyclicBarrier 以及 Co ...

  9. 在页面制作的时候常用的html页面滚动加载,可视区域判断方法

    演示图 考虑2个情况一种情况初始状态下 滚动到在中间区域的时候,这时上半部分看不见的元素就不给字体添加红色一种情况是,从头向下看的. 代码 .ss li { margin: 40px; } <d ...

  10. 「状压DP」「暴力搜索」排列perm

    「状压DP」「暴力搜索」排列 题目描述: 题目描述 给一个数字串 s 和正整数 d, 统计 sss 有多少种不同的排列能被 d 整除(可以有前导 0).例如 123434 有 90 种排列能被 2 整 ...