验证码的实现 与jQuery阻止跳转封装数据库工具类oracle

目录

1.验证码的实现 jQuery 加 js 实现

2.jQuery表单验证与jQuery 的表单阻止e.preventDefault(); //jQery防止表单提交

3.css 的一些属性 方法 与五中跳转方式

css的一些属性设置

4.封装oracle数据库帮助类 

 4.1.数据库帮助类

 4.2.实体类的编写 

 4.3.dao方法的编写 添加方法

4.4jsp页面的调用  直接import引入即可使用


1.验证码的实现 jQuery 加 js 实现



var cns = ['q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n',
				'm','M','N','B','V','C','X','Z','A','S','D','F','G','H','J','K','L','P','O','I','U','Y','T','R','E','W','Q',
				'0','1','2','3','4','5','6','7','8','9'];

function setAutoCode() {
	var str="";
	for(var i=0;i<4;i++){
		var index=Math.floor(Math.random()*cns.length);	
		str+=cns[index];
		
		
	}
	$("#yz").html(str); 这里也可以使用js获取标签设置
	
}

2.jQuery表单验证与jQuery 的表单阻止e.preventDefault(); //jQery防止表单提交

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新闻发布系统-管理员登录</title>
<!-- 引入login.css -->
<link rel="stylesheet" type="text/css" href="css/login.css" />
<script type="text/javascript" src="js/jquery-3.6.0.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>
<style type="text/css">
.error{
color: red;
text-align: left;

}
</style>
<script type="text/javascript">

$(function() {
	
	// 密码验证正则表达式  添加插件
	jQuery.validator.addMethod("regexPassword", function(value, element) {
	    return this.optional(element) || /^(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/.test(value);
	}, "一个大写,一个小写,一个符号");

	$("#formset").validate({
		rules:{
		user:{
			required: true,
	        rangelength:[2,16]
		},
		password:{
			required: true,
			 rangelength:[3,14],
			// regexPassword: true
			 
		}
		},
	messages: {
		user: {
			required: "*必填",
			rangelength: "2-16*"
		},
		password: {
			required: "*必填",
			rangelength: "3-14*"
		}
		
	}
		
	})


	使用提交按钮设置点击事件 

	$("#buttonDiv>input:submit").click(function (e) {
		var nul=$("#code").val();
		if(!nul){
			alert("验证码不可为空");
			e.preventDefault();
		}else{
			var yz=$("#yz").html();
			
			if(nul != yz){
				alert("验证码错误");
				e.preventDefault(); //jQery防止表单提交
			}
		}
		
		
	})
	
	setAutoCode();
	$("#yz").click(function () {
		setAutoCode();
	})
	
})

var cns = ['q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n',
				'm','M','N','B','V','C','X','Z','A','S','D','F','G','H','J','K','L','P','O','I','U','Y','T','R','E','W','Q',
				'0','1','2','3','4','5','6','7','8','9'];

function setAutoCode() {
	var str="";
	for(var i=0;i<4;i++){
		var index=Math.floor(Math.random()*cns.length);	
		str+=cns[index];
		
		
	}
	$("#yz").html(str);
	
}


</script>
</head>
<body>

	<!-- 登录大容器 -->
	<div id="login">
		<!-- 上 -->
		<div id="top">
			<div id="top_left">
				<img src="images/login_03.gif" />
			</div>
			<div id="top_center"></div>
		</div>
		<!-- 中 -->
		<div id="center">
			<div id="center_left"></div>
			<!-- 账号密码div -->
			<div id="center_middle">
				<form id="formset" action="dologin.jsp" method="post">


					<!-- 用户输入框  -->
					<div id="username">
						<label>账号:</label><input id="user" name="user" type="text">
					</div>
					<!-- 密码输入框 -->
					<div id="passwordDiv">
						<label>密码:</label> <input type="password" id="password"
							name="password">
					</div>
					<!-- 验证码输入框 -->
					<div id="codeDiv">
						<label>验证码:</label> <input type="text" id="code" name="code">
						<span id="yz">BTNt</span>
					</div>
					<!-- 自动登录 -->
					<div id="outoLoginDiv"></div>
					<!-- 登录和重置按钮 -->
					<div id="buttonDiv">
						<input type="submit"  value="登录" /> <input type="reset" value="重置" />
					</div>

				</form>

			</div>
			<div id="center_right"></div>
		</div>
		<!-- 下 -->
		<div id="down">
			<div id="down_left">
				<div id="inf">
					<span class="inf_text">版本信息</span> <span class="copyright">管理信息系统
						2008 v2.0</span>
				</div>
			</div>
			<div id="down_center"></div>
		</div>

	</div>
	<%
String i=request.getParameter("i");
if(i!=null){
out.print("<script>$(function() {alert('账号或密码错误');location.href='login.jsp'})</script>");	
}
%>
</body>
</html>

3.css 的一些属性 方法 与五中跳转方式

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
	<%
		//1.JSP页面的跳转方式
		//(1)form表单提交跳转
		//		action method   
		//      传值  action = "index.jsp?username=admin"
		      <input type = "hidden" name = "xxx" value = ""/>
	
		//(2)HTML超链接标签进行跳转
				<a href = "index.jsp?username=admin&pwd=123"></a>
	
		
		//(3)js脚本中的BOM对象   location
		  script标签内    location.href="index.jsp?username=admin"
		
		
		//(4)java的方式--请求转发
		request.getRequestDispatcher("跳转路径").forward(request, response);
		
		
		//(5)java的方式--请求重定向
		response.sendRedirect("跳转路径");
		
		
		//在所有的中转站页面中做页面跳转。
		//1,2  不行的     3,4,5可以的
		
		
		//2.JDBC
		Class.forName("驱动路径");//oracleDriver  alt+/  该页面第一行代码中import值
		
		
		//url地址
		 jdbc:oracle:thin:@localhost:1521:orcl	
		
		//接口以及实现类
		//DriverManager
		//Connection
		//PreparedStatement   ps     
		//	占位符的概念  ?        ps.setXxx(序号,数值);
		//ResultSet rs       next();
		//	rs.getXxx()
		
		
		
		
		
	%>

css的一些属性设置

/* 对其方式 */
	text-align: center;
 /* 垂直剧中 */
line-height: 40px; 此大小要与高度一样才能实现水平居中
设置字体大小
font-size: 15px;
设置字体加粗
font-weight:bold;
设置字体样式 字体
font-family: "楷体";
/* 左缩颈 */
	text-indent: 0.9em;
/* 每个字符之间的间隙 */
	letter-spacing: 4px;
背景颜色
	background: white;
	/* 鼠标样式  */
	cursor: pointer;

4.封装oracle数据库帮助类 

 4.1.数据库帮助类

package com.baidu.utlis;
/*
 * 数据库帮助类
 */

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


加载jar驱动
public class DBHelper {
static {
	try {
		Class.forName("oracle.jdbc.driver.OracleDriver");
	} catch (Exception e) {
		e.printStackTrace();
	}
}

链接数据库
public static Connection getConn() {
	Connection conn=null;
	try {
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		conn=DriverManager.getConnection(url, "f_lkf", "123");	
	} catch (Exception e) {
		e.printStackTrace();
		
	}
	return conn;
}

//关闭数据库
public static void myClose(Connection conn,PreparedStatement ps, ResultSet rs) {
	try {
		if(conn!=null&&!conn.isClosed()) {
			conn.close();
		}
		if(ps!=null) {
			ps.close();
		}
		if(rs!=null) {
			rs.close();
		}
	} catch (Exception e) {
		e.printStackTrace();
		// TODO: handle exception
	}
	
	
	
}

}

 4.2.实体类的编写 

1.编写好你需要的属性 根据数据库而定 

2.主界面右键

 3.创建有参函数 几个参数根据需求而定

 4.选择好需要的属性确定即可

 5.创建get与set方法

 6.选择好属性确定即可

 4.3.dao方法的编写 添加方法

package com.baidu.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.baidu.entity.NewsXwFb;
import com.baidu.utlis.DBHelper;

/*
 * 新闻发布dao方法
 */
public class XwFbDao {

/*
 * 新增新闻的方法
 */
	public int addXw(NewsXwFb xw) {
		int n=0;
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		try{
			conn=DBHelper.getConn();
			String sql="insert into tb_news values(?,?,?,?,?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),?)";
			ps=conn.prepareStatement(sql);
		ps.setInt(1, xw.getNid());
		ps.setInt(2, xw.getNtid());
	    ps.setString(3, xw.getNtitle());
	    ps.setString(4, xw.getNauthor());
	    ps.setString(5, xw.getNsummary());
	    ps.setString(6, xw.getNcontent());
	    ps.setString(7, xw.getNimage());
	    ps.setString(8, xw.getNdate());
	    ps.setInt(9, xw.getNcount());
	    n=ps.executeUpdate();
		}catch(Exception e){
			e.printStackTrace();
		}finally{

		DBHelper.myClose(conn, ps, rs);
		}
		
		return n;
	}
	
}

4.4jsp页面的调用  直接import引入即可使用

<%@page import="com.baidu.entity.NewsXwFb"%>
<%@page import="com.baidu.dao.XwFbDao"%>
<%@page import="com.sun.org.apache.bcel.internal.generic.SIPUSH"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="com.baidu.dao.UserDao"%>
<%@page import="com.baidu.utlis.DBHelper"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%



request.setCharacterEncoding("utf-8");
//编号
int sid=new UserDao().getid();
out.println(sid);
 //分类编号
String nid=request.getParameter("ntid");
int nidd=Integer.valueOf(nid);
out.println(nid);
//标题
String nauthor=request.getParameter("ntitle");
//作者
String nsummary=request.getParameter("nauthor");
//摘要
String ncontent=request.getParameter("nsummary");
//类容
String nconte=request.getParameter("ncontent");
//图片
String nimage="images\\1.jpg";
//注册时间
Date date =new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String ndate=sdf.format(date);
//点击量
int ncount=0;
int i=new XwFbDao().addXw(new NewsXwFb(sid,nidd,nauthor,nsummary,ncontent,nconte,nimage,ndate,ncount)); 
 
if(i>0){
	//请求转发 页面跳转
	//out.println("<script>alert('登录成功') </script>");
	request.getRequestDispatcher("admin.jsp?c=1").forward(request, response);
}else{

	out.println("<script>location.href='admin_addNews.jsp?i=0'</script>");
	
}  
 


%>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery本身并不支持直接与数据库进行交互,因为jQuery是一个用于操作DOM和AJAX的JavaScript库,并不是用于操作数据库的工具。但是,可以通过AJAX技术来实现数据库的交互。 具体实现方法如下: 1. 在服务器端编写一个处理查询请求的API接口,该接口接收查询条件作为参数,查询数据库并返回结果。 2. 在客户端使用jQuery的AJAX方法发送查询请求到服务器端的API接口,同时传递查询条件作为参数。 3. 服务器端的API接口接收到请求后,根据传递的查询条件查询数据库,将查询结果以JSON格式返回给客户端。 4. 客户端使用jQuery的回调函数处理服务器端返回的查询结果,将查询结果显示在页面上。 示例代码: 客户端: ```javascript $.ajax({ url: "query.php", // 服务器端API接口地址 method: "GET", // 请求方法 data: { // 查询条件 keyword: "apple" }, dataType: "json", // 返回数据类型 success: function(data) { // 请求成功的回调函数 // 处理查询结果 console.log(data); }, error: function(xhr, status, error) { // 请求失败的回调函数 console.log("请求失败:" + error); } }); ``` 服务器端(PHP): ```php <?php // 获取查询条件 $keyword = $_GET["keyword"]; // 连接数据库 $conn = mysqli_connect("localhost", "root", "password", "database"); if (!$conn) { die("连接数据库失败:" . mysqli_connect_error()); } // 查询数据库 $sql = "SELECT * FROM products WHERE name LIKE '%$keyword%'"; $result = mysqli_query($conn, $sql); if (!$result) { die("查询失败:" . mysqli_error($conn)); } // 处理查询结果 $data = array(); while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } // 返回查询结果 header("Content-Type: application/json"); echo json_encode($data); // 关闭数据库连接 mysqli_close($conn); ?> ``` 上述代码实现了根据关键字查询商品信息的功能,可以根据实际需求修改查询条件和数据库表结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值