实现数据库增删改查+界面效果-----jsp

任务

1.通过连接数据库完成用户登录模块。
2.登录成功后查询出一张数据库表中的内容;登录不成功返回登录页面。
3.页面面端要有空值和非法字符验证。
4.登录成功后对一张表中数据进行增加、删除、修改和查询操作。

代码

数据库相关代码

创建数据库

名字为jdbcHomework,字符编码为utf8
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W3fkdYHU-1722337844103)(https://i-blog.csdnimg.cn/blog_migrate/d5fa8372fdfbfd3b571d5cd8e75fe105.png)]

数据库创建表

学生表

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `Sid` char(11) CHARACTER SET utf8 NOT NULL,
  `Sname` char(50) CHARACTER SET utf8 DEFAULT NULL,
  `Ssex` char(2) CHARACTER SET utf8 DEFAULT NULL,
  `Sclass` char(50) CHARACTER SET utf8 DEFAULT NULL,
  `Syuanxi` char(50) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`Sid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='jdbc作业';

用户表

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `Userid` char(11) NOT NULL,
  `Username` char(50) DEFAULT NULL,
  `Userpwd` varchar(12) DEFAULT NULL,
  PRIMARY KEY (`Userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='jdbc作业';

数据库的表中插入数据

学生表

INSERT INTO `student` VALUES ('20221104122', '李静静', '女', '计科(专升本)1班', '计算机');
INSERT INTO `student` VALUES ('20221104204', '柯柯', '女', '计科(专升本)2班', '计算机');
INSERT INTO `student` VALUES ('20221104250', 'zyp', '男', '自动化1班', '自动化');

用户表

INSERT INTO `user` VALUES ('20221104122', '洛可可', '666666');
INSERT INTO `user` VALUES ('root', '洛可可', 'root');

myeclipse中代码

src的jdbcHomework包中的代码

功能:连接数据库

1.LinkMysql.java为连接mysql的代码,包括驱动、密码、url,用于登录界面、登录检查、增删改查的后台处理
2.ConnectionFactory.java为为连接mysql的代码,包括驱动、密码、url,用于登录成功后界面linkMysql.jsp连接数据库
3.本次学习时上面类使用方法是通过javaBean的id获取链接,从而连接到数据库;下面类使用方法是通过在开头导入该类,代码中新建类并用 “新建的类名.getConnection();” 方法获取链接,从而连接到数据库

1.LinkMysql
package jdbcHomework;
import java.sql.*;


public class LinkMysql {
   
	 //驱动程序
    private String driverName = "com.mysql.jdbc.Driver";
    //设置数据库连接URL
    private String url = "jdbc:mysql://localhost:3306/jdbcHomework?useUnicode=true&characterEncoding=utf-8";
    private String user = "root";//数据库登录用户名
    private String password = "root";//数据库登录密码 
	public String getDriverName() {
   
		return driverName;
	}
	public void setDriverName(String driverName) {
   
		this.driverName = driverName;
	}
	public String getUrl() {
   
		return url;
	}
	public void setUrl(String url) {
   
		this.url = url;
	}
	public String getUser() {
   
		return user;
	}
	public void setUser(String user) {
   
		this.user = user;
	}
	public String getPassword() {
   
		return password;
	}
	public void setPassword(String password) {
   
		this.password = password;
	}
	 public Connection getConnection() {
   
	        try {
   
	            Class.forName(driverName);
	            return DriverManager.getConnection(url, user, password);
	        } catch (Exception e) {
   
	            //e.printStackTrace();
	            System.out.println("驱动异常");
	            return null;
	        }
	    }  



}

2.ConnectionFactory
package jdbcHomework;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {
   
	private String driverClassName = "com.mysql.jdbc.Driver"; 
	  private String url = "jdbc:mysql://localhost:3306/jdbcHomework?useUnicode=true&characterEncoding=utf-8"; 
	  private String userName = "root"; 
	  private String password = "root"; 
	  /* 
	  private static ConnectionFactory connectionFactory=null; 
	  
	  
	  private ConnectionFactory() {
    
		  try {
   
			Class.forName(driverClassName);
		} catch (ClassNotFoundException e) {
   
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	  }
	  public ConnectionFactory(){
   
		  
	  }
	 */
	  public Connection getConnection() throws SQLException 
	  {
    
		  try {
   
				Class.forName(driverClassName);
			} catch (ClassNotFoundException e) {
   
				// TODO Auto-generated catch block
				//e.printStackTrace();
				System.out.println("驱动异常");
			} 
		  return DriverManager.getConnection(url, userName, password); 
	  }
	  /*
	  public static ConnectionFactory getInstance() 
	  {
     
		  if (null==connectionFactory) {
    
		      connectionFactory=new ConnectionFactory(); 
		    } 
		    return connectionFactory;
	  }
	  */
	  

}

WebRoot/jdbcHomework下的代码

1.登录主界面代码

login.jsp

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'login.jsp' starting page</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	 <script type="text/javascript">

		function checkForm(){
   
			if (form1.id.value == null || form1.userid.value==""){
   	
			alert("请输入学号");	
			return false ;	
		}	
		if (form1.name.value == null || form1.username.value==""){
   	
			alert("请输入姓名");	
			return false ;	
		}
		if (form1.pwd.value == null || form1.pwd.value==""){
   	
			alert("请输入密码");	
			return false;	
		}
			
		return true;	
		}
	</script>
  </head>
  
  <body bgcolor="pink">
  	<div class="top" align="center">
  		 <h1>欢迎来到洛可可学生管理系统!!</h1>
  	</div>
  
    <div class="center" align="center">
   
	    <table border="1" bgcolor=
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辣椒酱.

感谢支持,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值