登录:

前端页面:

<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. electron打造桌面应用

    Electron 将网页打包成桌面应用(web页面生成exe) http://m.blog.csdn.net/u014563989/article/details/75045052 Electron学 ...

  2. VC单选按钮控件(Radio Button)用法(转)

    先为对话框加上2个radio button,分别是Radio1和Radio2. 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDi ...

  3. 从数据库中取时间值,遇到:java.sql.Timestamp cannot be cast to java.lang.Long

    将 java.sql.Timestamp 类型转换为 java.util.Date 类型.二者其实是父子关系,直接 Date d = (Date)时间戳 就可以了. Date d = (Date)时间 ...

  4. C#由转换二进制所引起的思考,了解下?

    前言 最近遇到很有意思转换二进制的问题,有部分童鞋俨然已了解,可能也有一部分童鞋没碰到过也就不知情,这里我们来深入学习下转换二进制所带来的问题. 二进制转换问题 假设现在我们有一个int类型的数据,它 ...

  5. DBMS_METADATA.GET_DDL查出不存在的列SYS_C00014_20070116:47:09$

    DBMS_METADATA.GET_DDL查出不存在的列SYS_C00014_20070116:47:09$ 前言 很久很久以前,有多久呢? 有多久了,等等我看下截图的日期(溜︿( ̄︶ ̄)︿). 哦, ...

  6. 前端笔记(创建顺序数组、取选中月最后一天日期、判断变量、git命令)

    创建一个从0开始的顺序数组 [...new Array(5).keys()] //[0,1,2,3,4] 数组反向 [0,1,2,3,4,5].reverse() //[4,3,2,1,0] 取选中月 ...

  7. 万变不离其宗之UART要点总结

    [导读] 单片机开发串口是应用最为广泛的通信接口,也是最为简单的通信接口之一,但是其中的一些要点你是否明了呢?来看看本人对串口的一些总结,当然这个总结并不能面面俱到,只是将个人认为具有共性以及相对比较 ...

  8. GAN网络从入门教程(三)之DCGAN原理

    目录 DCGAN简介 DCGAN的特点 几个重要概念 下采样(subsampled) 上采样(upsampling) 反卷积(Deconvolution) 批标准化(Batch Normalizati ...

  9. 【Python】抽象工厂模式

    前言 接着上一篇的故事工厂模式继续,手机要出厂,显然光一个手机肯定是不行的,还需要包装盒.充电器等等东西.我们按照上一篇提到的工厂模式,去建立新的工厂是一点都没有问题的.但是思考一下这样子做会带来的问 ...

  10. MySQL 面试题 24 问

    MySQL 是数据库中的主流中的主流,小中性公司基本都以它为主,而作为后端开发和数据库工程师来说,MySQL 是面试必须要过的一关.以下是小编整理网络的 MySQL 面试高频题,希望对大家有所帮助. ...