1、组成部分:

登入页面——enter_form.jsp

JavaBean——testLogin.java(私有变量:id,userName,passWord)

查询页面——userQuery.jsp

更新页面——userUpdate.jsp

新用户登记页面——userInsert.jsp

删除页面——userDelete.jsp

工具包——DButil.java

用户信息核对类——JDBCDemo.java

几个跳转页面——action.jsp/action3.jsp/action4.jsp

2、具体代码及注释:

#enter_form.jsp#

action="action.jsp" method="post"

name="form1">

登入页面

//如果输入信息有误,跳转回当前页面并给出用户相应提示信息msg

String

msg = (String) session.getAttribute("msg");

if

(msg != null) {

session.removeAttribute("msg"); //删除msg内容,因为第一次登入没有错误信息提示

out.println(msg

+ "
");

}

%>

用户名:

type="text" name="userName" value="">

/>

密 码 :

type="password" name="passWord" value="">

/>

type="submit" name="Submit" value="提交">

type="reset" name="Reset" value="重置">

href="userQuery.jsp">查询全部用户信息

//提供查询全部用户信息的链接

href="userInsert.jsp">添加新用户

//如果你是新用户,可以添加新信息

#action.jsp#

id="user" class="com.witbridge.sabrina.testLogin"

scope="request">

name="user" property="*" />

String

userName = user.getUserName();

String

password = user.getPassword();

//若用户无输入或者输入为空格,则不连接数据库,转向enter_form.jsp

if (userName

== null || password == null || "".equals(userName.trim()) ||

"".equals(password.trim())) {

session.setAttribute("msg",

"please input!");

response.sendRedirect("enter_form.jsp");

//否则创建对象进行判断进入相应页面

} else

{

JDBCDemo jdbcDemo = new JDBCDemo();

testLogin isExist = new testLogin();

isExist = jdbcDemo.login(userName, password);

if (isExist != null) {

out.println("欢迎"

+ isExist.getUserName() + "登入");

} else {

session.setAttribute("msg",

"login fail!");

response.sendRedirect("enter_form.jsp");

}

}

%>

#JDBCDemo.java#

package com.witbridge.sabrina;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class JDBCDemo {

public testLogin login(String

name,String pwd){

Connection conn = null;

PreparedStatement ps =

null;

ResultSet result = null;

testLogin t = null;

try {

conn =

DBUtil.getConn();

String sql =

"select * from login where userName = ? and passWord =

?";

//用?作为占位符,一一匹配

ps =

conn.prepareStatement(sql); //preparedStatement需要传参数,预处理

ps.setString(1,

name); //序号从1开始

ps.setString(2,

pwd);

result =

ps.executeQuery(); //初始状态指向第一条结果的前面

if(result.next()){

t

= new testLogin();

t.setUserName(result.getString("userName"));

t.setPassWord(result.getString("passWord"));

}

} catch

(SQLException e) {

e.printStackTrace();

}finally{

DBUtil.close(conn,

ps); //关闭连接

}

return

t;

}

}

#DBUtil.java#package

com.witbridge.sabrina;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class DBUtil {

private static String url =

"jdbc:mysql://localhost:3306/test";

private

static String userName = "root";

private

static String passWord = "root";

private static Connection conn = null;

public static Connection getConn(){

try {

Class.forName("com.mysql.jdbc.Driver");

conn =

DriverManager.getConnection(url, userName, passWord);

}

catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e)

{

e.printStackTrace();

}

return

conn;

}

public static void close(Connection conn,Statement st){

if(conn != null){

try {

conn.close();

} catch

(SQLException e) {

e.printStackTrace();

}

}

if(st

!= null){

用mysql制作一个登录_连接数据库制作一个简单的登入页面1相关推荐

  1. controll层跳转页面_以SpringMVC注解的形式 从Controller跳到另一个Controller 实现登入页面的跳转...

    以 SpringMVC 注解的形式从 Controller 跳到另一个 Controller 实现登入页面的跳转 使用 springmvc 注解的形式实现 ( 登录成功跳到一个 Controller ...

  2. 使用GET实现一个简单的登入界面

    使用GET实现一个简单的登入界面 拼接url字符串 将textfield的内容传入用户名username和密码password, 关于GET请求的URL格式 http://127.0.0.1/logi ...

  3. Myeclipse2017连接MySql数据库实现登录界面的制作(全过程)

    毕业设计选题选的是B/S的系统,决定用Myeclipse+MySql来做,本人小白一枚,前段时间自学了java web的知识,目前已经做出来了登录功能及系统的主界面,接下来就是在主界面对数据库增删改查 ...

  4. 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...

    方法一: 尝试用MySQL Adminstrator GUI Tool登入MySQL Server,Server却回复错误讯息:Host '60-248-32-13.HINET-IP.hinet.ne ...

  5. python制作课程表提醒_课程表制作【处理思路】

    近日有不少小伙伴咨询这样一个情况,就是在使用时遇到了课程表制作 的问题,课程表制作 虽然不是大问题,但课程表制作 的问题会导致无法正常工作,那该怎么处理呢,下文给大家分享一下课程表制作 的具体解决方法 ...

  6. mysql按位存储_数据库中用一个值来保存多种情况:二进制和按位异或

    例如,某个房间可从[灯,床,桌,椅,杯子,饮水机--]这些器具中挑选,从而组成这个房间的装潢.我们可能会设计一个房间表,再设计一个器具表,再设计一个关系表,通过这个关系表来保存它们之间的对应关系.但是 ...

  7. python做一个登录注册界面_Python 实现简单的登录注册界面

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

  8. c语言把一个数组赋值给另一个数组_如何把一个固定数组的值传递给另外一个数组...

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解的是第34讲:数组的传递.在应用数组的时候,我们往往需要要把数组的值由一个数组传递给另外一个数组,就如同变量的传递一样: A=B '把B值赋给 ...

  9. 如何用vbs编写一个游戏_如何编写一个 SkyWalking 插件

    点击上方"开源社"关注我们 | 作者:vcjmhg| 编辑:李明康| 责编:袁睿斌 | 设计:叶修缘丶 1 概述 之前几篇文章,我们着重介绍了在对 SkyWalking 进行二次开 ...

最新文章

  1. Java网络编程——11.非阻塞I/O
  2. Java自带的线程池Executors.newFixedThreadPool
  3. android fragment contextmenu,在 fragment 中,无法为listView项创建 contextMenu_android_开发99编程知识库...
  4. LVS负载均衡之NAT模式
  5. Pytorch--Tensor, Numpy--Array,Python--List 相互之间的转换
  6. 微软python免费课程_微软再推免费在线Python教程 面向数据科学和机器学习初学者...
  7. 55天 - 算法 - 动态规划 - 数组类 从前往后
  8. jquery $(document).ready() 与js原生的window.onload的区别总结
  9. [转]Ogre:Hardwarebuffer
  10. 用python实现网上书店
  11. 《连线》评出2008年十大最值得关注创业公司
  12. 外贸员需要知道的那些事儿
  13. 物联网云平台将成为产业生态的核心
  14. 供水为民振兴乡村 国稻种芯-慈利县:抗旱保收盛德村在行动
  15. React-Redux 学习,转载
  16. 第一章:第1章 CRM核心业务介绍--概述,crm架构,公司组织结构,软件开发的生命周期,crm项目的核心业务介绍。...
  17. Java高级 正向代理和反向代理理解
  18. 计算机科学与技术专业实践范文,计算机科学与技术专业毕业实习报告范文.docx...
  19. 仿小米商城注册登录 —— vue
  20. 恶意驱动锁首手动处理的两种方法

热门文章

  1. makefile模板
  2. 【信息系统项目管理师】第1章-信息化和信息系统 知识点详细整理
  3. 魔鬼一样的二分查找模板
  4. 微信php签名验证_微信公众平台安全模式消息体签名及加解密PHP代码示例
  5. FFmpeg4.0.2 over版本av_register_all()流程(二十九)
  6. Win10 WSL adb使用
  7. V4L2视频应用程序编程架构
  8. Abseil之New Join API
  9. 深度学习自学(十三):Nas+Mnas移动端网络搜索结构
  10. linux 如何避免进程killed_Linux 内核 / 进程管理 / 如何描述一个进程?