用户登录界面(1.8版本--网站框架改进)

 1 CREATE DATABASE db_user CHARACTER SET utf8;
 2
 3 CREATE TABLE users (
 4     userid TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 5     username varchar(20),
 6     passwd varchar(20),
 7     email varchar(30),
 8     priority int
 9 );
10
11 DROP TABLE users;
12
13 SELECT * FROM users;
14
15 INSERT INTO users(username,passwd,email,priority) VALUES(‘admin‘,‘admin‘,‘[email protected]‘,1);
16 INSERT INTO users(username,passwd,email,priority) VALUES(‘shunping‘,‘shunping‘,‘[email protected]‘,1);
17 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester1‘,‘tester2‘,‘[email protected]‘,5);
18 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester2‘,‘tester2‘,‘[email protected]‘,5);
19 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester3‘,‘tester3‘,‘[email protected]‘,5);
20 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester4‘,‘tester4‘,‘[email protected]‘,5);
21 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester5‘,‘tester5‘,‘[email protected]‘,5);
22 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester6‘,‘tester6‘,‘[email protected]‘,5);
23 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester7‘,‘tester7‘,‘[email protected]‘,5);
24 INSERT INTO users(username,passwd,email,priority) VALUES(‘tester8‘,‘tester8‘,‘[email protected]‘,5);
25
26 //快速增加记录
27 INSERT INTO users(username,passwd,email,priority) SELECT username,passwd,email,priority FROM users;
28
29 SELECT COUNT(*) FROM users;

Database

 1 package com.tsinghua;
 2
 3 import javax.servlet.http.*;
 4 import java.io.*;
 5
 6 public class Login3 extends HttpServlet {
 7     public void doGet(HttpServletRequest req,HttpServletResponse res)  {
 8         try {
 9             res.setContentType("text/html;charset=utf8");
10             PrintWriter pw = res.getWriter();
11             String info1 = req.getParameter("info1");
12             String info3 = req.getParameter("info3");
13             pw.println("<html>");
14             pw.println("<body>");
15             //用户尚未登录提醒
16             if(info1!=null) {
17                 pw.println("<span>您还没有登录</span>");
18             }
19             if(info3 != null) {
20                 pw.println("<span>您的用户名或密码错误</span>");
21             }
22             pw.println("<h1>用户登录</h1>");
23             pw.println("<form action=loginCl3>");
24             pw.println("用户名:<input type=text name=username><br/>");
25             pw.println("密码:<input type=pasword name=passwd><br/>");
26             pw.println("<input type=checkbox name=checked value=2>两周之内不需要登录<br/>");
27             pw.println("<input type=submit value=login>");
28             pw.println("</form>");
29             pw.println("</body>");
30             pw.println("</html>");
31
32         }catch(Exception ex) {
33             ex.printStackTrace();
34         }
35     }
36     public void doPost(HttpServletRequest req,HttpServletResponse res)  {
37         this.doGet(req,res);
38     }
39 }

Login3.java

 1 package com.tsinghua;
 2
 3 import java.sql.*;
 4
 5 public class ConnDB {
 6      private Connection con = null;
 7      public Connection getConn() {
 8          try {
 9              Class.forName("com.mysql.jdbc.Driver");
10              con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_user","root","");
11          }catch(Exception ex) {
12              ex.printStackTrace();
13          }
14          return con;
15      }
16  }

ConnDB.java

 1 //与表users一一映射
 2 package com.tsinghua;
 3
 4 import java.sql.*;
 5
 6 public class UserBean {
 7     private int userId;
 8     private String userName;
 9     private String passwd;
10     private String email;
11     private int priority;
12     public void setUserId(int userId) {
13         this.userId = userId;
14     }
15     public int getUserId() {
16         return     this.userId;
17     }
18     public void setUserName(String userName) {
19         this.userName = userName;
20     }
21     public String getUserName() {
22         return this.userName;
23     }
24     public void setPasswd(String passwd) {
25         this.passwd = passwd;
26     }
27     public String getPasswd() {
28         return this.passwd;
29     }
30     public void setEmail(String email) {
31         this.email = email;
32     }
33     public String getEmail() {
34         return this.email;
35     }
36     public void setPriority(int priority) {
37         this.priority = priority;
38     }
39     public int getPriority() {
40         return this.priority;
41     }
42 }

UserBean.java

  1 //处理users表--->操作UserBean
  2 //业务逻辑处理
  3
  4 package com.tsinghua;
  5
  6 import java.sql.*;
  7 import java.util.*;
  8 import com.tsinghua.*;
  9
 10 public class UserBeanCl {
 11     private Connection ct=null;
 12     private PreparedStatement ps=null;
 13     private ResultSet rs=null;
 14     private int pageCount=0;
 15
 16     public int getPageCount() {
 17         return this.pageCount;
 18     }
 19
 20     public ArrayList getResultByPage(int pageNow,int pageSize) {
 21
 22         //将数据库中记录分页
 23         ArrayList arraylist = new ArrayList();
 24         try {
 25             int rowCount=0;
 26             ConnDB cd = new ConnDB();
 27             ct = cd.getConn();
 28             ps = ct.prepareStatement("select count(*) from users");
 29             rs = ps.executeQuery();
 30             if(rs.next()) {
 31                 rowCount = rs.getInt(1);
 32             }
 33             //计算pageCount
 34             if(rowCount % pageSize == 0) {
 35                 pageCount = rowCount / pageSize;
 36             }else {
 37                 pageCount = rowCount / pageSize + 1;
 38             }
 39
 40             ps = ct.prepareStatement("select * from users limit ?,?");
 41             ps.setInt(1,(pageNow-1)*pageSize);
 42             ps.setInt(2,pageSize);
 43             rs = ps.executeQuery();
 44             if(rs.next()) {
 45                 UserBean ub = new UserBean();
 46                 ub.setUserId(rs.getInt(1));
 47                 ub.setUserName(rs.getString(2));
 48                 ub.setPasswd(rs.getString(3));
 49                 ub.setEmail(rs.getString(4));
 50                 ub.setPriority(rs.getInt(5));
 51                 arraylist.add(ub);
 52             }
 53
 54         }catch(Exception ex) {
 55             ex.printStackTrace();
 56         }finally {
 57             this.close();
 58         }
 59         return arraylist;
 60     }
 61
 62     //验证用户
 63     public boolean checkUser(String user,String pass) {
 64         boolean bool = false;
 65         try {
 66             ConnDB cd = new ConnDB();
 67             ct = cd.getConn();
 68             ps = ct.prepareStatement("select passwd from users where username=?");
 69             ps.setString(1,user);
 70             rs=ps.executeQuery();
 71             if(rs.next()) {
 72                 String sPasswd = rs.getString(1);
 73                 if(sPasswd.equals(pass)) {
 74                     bool=true;
 75                 }
 76             }
 77         }catch(Exception ex) {
 78             ex.printStackTrace();
 79         }finally {
 80             this.close();
 81         }
 82         return bool;
 83     }
 84     public void close() {
 85         try {
 86             if(rs!=null) {
 87                 rs.close();
 88                 rs=null;
 89             }
 90             if(ps!=null) {
 91                 ps.close();
 92                 ps=null;
 93             }
 94             if(ct!=null) {
 95                 ct.close();
 96                 ct=null;
 97             }
 98         }catch(Exception ex) {
 99             ex.printStackTrace();
100         }
101     }
102
103 }

UserBeanCl.java

 1 package com.tsinghua;
 2
 3 import javax.servlet.http.*;
 4 import java.io.*;
 5 import java.sql.*;
 6 import com.tsinghua.*;
 7
 8 public class LoginCl3 extends HttpServlet {
 9     public void doGet(HttpServletRequest req,HttpServletResponse res) {
10
11         try {
12             String user = req.getParameter("username");
13             String pass = req.getParameter("passwd");
14
15              //检验用户
16              UserBeanCl ubc = new UserBeanCl();
17              if(ubc.checkUser(user,pass)){
18
19                     String checked = req.getParameter("checked");
20                     if(checked!=null) {
21
22                         //创建Cookie
23                         Cookie username = new Cookie("myName",user);
24                         Cookie passwd = new Cookie("myPasswd",pass);
25                         //设置存在时间
26                         username.setMaxAge(14*24*60*60);
27                         passwd.setMaxAge(14*24*60*60);
28                         //将Cookie回写到客户端
29                         res.addCookie(username);
30                         res.addCookie(passwd);
31                     }
32
33
34                      HttpSession hs = req.getSession(true);
35                     //添加session属性
36                     hs.setAttribute("uname",user);
37                     //设置存在时间
38                     hs.setMaxInactiveInterval(20);
39
40
41                     //跳转到欢迎页面
42                     res.sendRedirect("wel3?user="+user);
43
44              }else {
45                  res.sendRedirect("login3?info3=err3");
46              }
47         }catch(Exception ex) {
48             ex.printStackTrace();
49         }
50     }
51     public void doPost(HttpServletRequest req,HttpServletResponse res) {
52         this.doGet(req,res);
53     }
54 }

LoginCl3.java

  1 package com.tsinghua;
  2 import javax.servlet.http.*;
  3 import java.io.*;
  4 import java.sql.*;
  5 import java.util.*;
  6 import com.tsinghua.*;
  7
  8 public class Wel3 extends HttpServlet {
  9     public void doGet(HttpServletRequest req,HttpServletResponse res) {
 10         //数据库
 11         Connection con = null;
 12         PreparedStatement ps = null;
 13         ResultSet rs = null;
 14         try {
 15             //html格式声明
 16             res.setContentType("text/html;charset=utf8");
 17             //分页
 18             int pageSize=3;   //每页记录数
 19             int pageNow=1;    //希望当前页数
 20
 21             String user="";
 22             String pass="";
 23
 24             //动态的接收pageNow
 25             String sPageNow = req.getParameter("pageCur");
 26             if(sPageNow!=null) {
 27                 pageNow = Integer.parseInt(sPageNow);
 28             }
 29
 30
 31             PrintWriter pw = res.getWriter();
 32             //获取session属性
 33             HttpSession hs = req.getSession(true);
 34             String name = (String)hs.getAttribute("uname");
 35
 36             //session不存在
 37             if(name==null) {
 38                 //检测是否有Cookie信息
 39                 Cookie []allCookies = req.getCookies();
 40                 if(allCookies != null) {
 41                     for(int i=0;i<allCookies.length;i++) {
 42                         Cookie temp = allCookies[i];
 43                         if(temp.getName().equals("myName")) {
 44                             user = temp.getValue();
 45                         }else if(temp.getName().equals("myPasswd")) {
 46                             pass = temp.getValue();
 47                         }
 48                     }
 49                     if(!user.equals("")&&!pass.equals("")) {
 50                         res.sendRedirect("loginCl3?username="+user+"&passwd="+pass);
 51                     }else {
 52                         //跳转登陆页面,提醒用户未登录
 53                         res.sendRedirect("login3?info1=err1");
 54
 55                     }
 56                 }
 57             }
 58
 59             UserBeanCl ubc = new UserBeanCl();
 60             ArrayList arraylist = ubc.getResultByPage(pageNow,pageSize);
 61             int pageCount = ubc.getPageCount();
 62
 63             //欢迎用户(用户名)
 64             pw.println("Welcome your coming,"+name+"<br/>");
 65             //图片
 66             pw.println("<img width=100px height=100px src=imgs/KSYoon.jpg>");
 67             //输出分页后users表中信息
 68             pw.println("<table border=1>");
 69             pw.println("<tr>");
 70             pw.println("<th>userid</th>");
 71             pw.println("<th>username</th>");
 72             pw.println("<th>passwd</th>");
 73             pw.println("<th>email</th>");
 74             pw.println("<th>priority</th>");
 75             pw.println("</tr>");
 76
 77             for(int i=0;i<arraylist.size();i++) {
 78                 UserBean ub = (UserBean)arraylist.get(i);
 79                 pw.println("<tr>");
 80                 pw.println("<td>"+ub.getUserId()+"</td>");
 81                 pw.println("<td>"+ub.getUserName()+"</td>");
 82                 pw.println("<td>"+ub.getPasswd()+"</td>");
 83                 pw.println("<td>"+ub.getEmail()+"</td>");
 84                 pw.println("<td>"+ub.getPriority()+"</td>");
 85                 pw.println("</tr>");
 86             }
 87
 88             pw.println("</table>");
 89
 90             //上一页
 91             if(pageNow!=1) {
 92                 pw.println("<a href=wel3?pageCur="+(pageNow-1)+">上一页</a>");
 93             }
 94
 95             //页数链接
 96             for(int i=pageNow;i<pageNow+10;i++) {
 97                 //想要显示的当前页
 98                 pw.println("<a href=wel3?pageCur="+i+">"+i+"</a>");
 99             }
100
101             //下一页
102             if(pageNow!= pageCount) {
103                 pw.println("<a href=wel3?pageCur="+(pageNow+1)+">下一页</a>");
104             }
105         }catch(Exception ex) {
106             ex.printStackTrace();
107         }
108     }
109     public void doPost(HttpServletRequest req,HttpServletResponse res) {
110         this.doGet(req,res);
111     }
112 }

Wel3.java

原文地址:https://www.cnblogs.com/KSYoon/p/9435960.html

时间: 2024-08-25 20:43:13

用户登录界面(1.8版本--网站框架改进)的相关文章

Android 用户登录界面

黑色10分钟,winxp和QQ账号全军覆灭 最近一朋友忘记QQ密码,听说可以自己找回,就上网去找,看到有QQ密码破解工具,就下载,浏览器提示软件不安全,但是为了找回密码,我按了运行,然后下载了QQ账号密码破解工具,运行,提示说账号没找到.我又下载一个破解工具,还是没有用. 于是我用另一个QQ账号登陆,提示密码错误.我觉得奇怪,这个QQ账号密码没有忘记的.跑到另一台机器登陆也是提示不能登陆,查找原因是密码被改动了.我想,难道运行破解工具盗取了QQ账号然后就修改密码?于是用另外一个QQ账号登陆,谢天

很漂亮的用户登录界面HTML模板

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" /><title>很漂亮的用户登录界面HTML模板-柯乐义</title><base target="_blank" /><style>*{padding:0px;margin:0p

jQuery和CSS3炫酷GOOGLE样式的用户登录界面

这是一款使用jQuery和CSS3打造的GOOGLE样式的用户登录界面特效.该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作,用户名和密码输入框采用浮动标签特效,可点击的按钮上使用了很酷的点击波特效. 整个登录界面简洁大方,互动性很强. 在线演示:http://www.htmleaf.com/Demo/201503131515.html 下载地址:http://www.htmleaf.com/jQuery/Form/201503131514.html

C#: 用户登录界面设计

1. 在主界面loading的时候创建一个dictionary,从用户文件中加载用户信息 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 usi

用户管理系统网站框架改进之MVC模式

从之前的用户管理系统中我们会发现,JSP主要是做界面的,但却用了JSP来对用户进行验证和分页处理,而Servlet处理页面的转跳是最快捷和最方便的,所以对用户管理系统的框架进行了改进,使用MVC模式. MVC是一种设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分为三个核心部件:模型.视图和控制器.它们各自处理自己的任务. MVC的各个字母分别是M(model模型).V(view视图)和C(controller控制器) M主要由Java class来处理,也可以是Jav

场景分析:用户登录界面场景分析

功能点:用户登录软件 名字:小二子 年龄:19岁 收入:暂无 代表的用户在市场上的比例和重要性:比例较大,重要(我们的组队app的受众更可能是一些敢于尝试而又尚且没有为生活劳碌奔波的年轻人). 典型场景:人们打开我们的组队app软件,首先会遇到注册或者登录(已经注册过)的问题.那么就会涉及到用户名.密码的录入规则的限制,一个不友好的登录或者注册界面很可能会让用户失去耐心从而放弃使用我们的软件. 使用本软件的环境:因为大学放寒暑假了待在家里闷得发霉,因此想通过一些便捷的途径快速找到可以一起出行游走

如何打造一流的用户登录界面

在注册和登录表单页面中,密码屏蔽早已司空见惯,它可以防止用户密码的外泄.虽然这项出于安全性考虑的设计实践已经无从质疑,但是从另一角度去考虑的话,这种方式的交互设计却是不友好的,毕竟用户在登录网页时,希望毫无障碍的填写内容并提交数据,但密码屏蔽却反其道而行之. 利于登录,不利于注册 登录页面的使用率比注册页面要高很多.毕竟如果想创建一个帐户,用户只需要注册一次,但注册完后,就会经常和登录打交道了.这样一来,用户会经常在公共场合输入密码,比如想给朋友们展示下社交网站上的信息,或者想分享一些网站上的东

Qt 用户登录界面

 使用QT创建自己的登录窗口: 主要步骤:    1.窗口界面的绘制     2.沟通数据库进行密码验证 void MainWindow::on_pushButton_clicked() { // 连接数据库 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("D:/TEST/passwd"); if(!db.open()){ QMessageBox::informa

编写简单的用户登录界面

//1.如果用户名和密码不填写 //弹出消息对话框提示进行输入用户名和密码 //2.如果填写了用户名和密码 //(1).如果用户名和密码的填写都是admin弹出消息对话框,提示登陆成功 //(2).如果用户名和密码的填写的两个都不是admin弹出对话框提示登录名或密码错误 import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax