JavaWeb04(登录绑值模糊查询功能实现连接数据库)

news2024/12/23 19:11:15

目录

一.实现登录功能

 2.2 制作简易验证码

2.3 完成登录验证

2.4 登录实现

①连接字符串

private static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";

②加载驱动  OracleDriver

private static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";     

二.实现表格版的绑定数据

2.1 效果预览

2.2 代码实现  

三.实现模糊查询功能

2.1 效果预览

 2.2 代码实现

String sql="select * from tb_goods where gname like '%"+str+"%'";


一.实现登录功能

 2.2 制作简易验证码

	//随机生成验证码
		function myf() {
    		//数组  下标:0-33
			var arr= new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
			var str=" ";//用于拼接
			for (var i = 0; i < 4; i++) {
				//js随机数  无限逼近0-1  四舍五入
			    var a =Math.round(Math.random()*33);
				str+=arr[a];//根据下标拿元素
			}
			//给span(验证码)标签赋值
			$("#yzm").html(str);
    	}

2.3 完成登录验证

    //完成简单验证
    	function vLogin() {
			//根据id拿到用户名,密码,验证码的值
			var name=$("#aa").val();
			var pwd=$("#bb").val();
			var yzm1=$("#cc").val();
			var yzm2=$("#yzm").html();
			//判空
			if(name==""){//用户名不能为空
				alert("宝贝,用户名不能为空!!!");
				return false;
			}
			else{//密码不为空
				if(pwd==""){
					alert("密码不能为空!!!")
					return false;
				}
				else{
					if(yzm1==""){
						alert("验证码不能为空喔(#^.^#)");
						return false;
					}
					 else{//验证码不为空
						if(yzm1!=yzm2){
							alert("验证码有误");
							myf();//刷新验证码
							$("#cc").val("");
							return false;
						}
					} 
				}
			}
			return true;
		}

2.4 登录实现

①连接字符串

private static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";

②加载驱动  OracleDriver

private static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";

@WebServlet("/login.do")
public class LoginServlet extends HttpServlet{
        
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //实例化dao对象
        UserDao ud = new UserDao();


        //设置编码方式
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html; charset=UTF-8");
        
        //获取session和out
        HttpSession session = req.getSession();
        PrintWriter out = resp.getWriter();


        //接收表单提交过来的用户名和密码
        String name=req.getParameter("iname");
        String pwd = req.getParameter("ipwd");
        

二.实现表格版的绑定数据

2.1 效果预览

2.2 代码实现  

 @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //实例化dao对象
        GoodsDao gd = new GoodsDao();
        //设置编码方式
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html; charset=UTF-8");
        
        //获取session和out
        HttpSession session = req.getSession();
        PrintWriter out = resp.getWriter();
       
     //调用查询全部的dao方法
        //    方式二:
        List<Goods> ls = gd.getAll();
        //判断是否成功
        if(ls.size()!=0) {//说明不为空
            //把集合存起来
            req.setAttribute("ls", ls);
            //转发到主界面去展示数据'
            req.getRequestDispatcher("index.jsp").forward(req, resp);

三.实现模糊查询功能

2.1 效果预览

 2.2 代码实现

String sql="select * from tb_goods where gname like '%"+str+"%'";

        //方式一:

        //查询全部=查询全部
        String str="";
        if(gname!=null) {
            str=gname;
        }
        //把关键字存起来
        req.setAttribute("gname", gname);//键  值
         List<Goods> ls = gd.getAll(str);
        
        //调用模糊查询的dao方法
        // 方式二:
        //List<Goods> ls = gd.getAll(gname==null?"":gname);
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/477473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

更好地提问ChatGPT_常用prompt表

对常见的用途&#xff0c;记录该表以便获得ChatGPT更高质量的回复。 类别目的提问方式要点文案写作周报、日报、年终总结本周我做了以下几件事情&#xff1a;出差客户办事处、交流演示、初步数据分析。请帮我写一份周报要点形式列举工作内容。可以说明职位&#xff0c;以便工作…

【五一创作】web小游戏开发:华容道(一)

web小游戏开发:华容道(一) 华容道htmlcss素材原图素材验证游戏关卡华容道 老顾儿时的记忆啊,也是一个经典的益智游戏。 游戏规则就不用再介绍了吧,就是让曹操移动到曹营就算胜利。 CSDN 文盲老顾的博客,https://blog.csdn.net/superrwfei html 经过上次的扫雷,大家应…

JavaScript 内存泄漏

内存的释放流程&#xff1a; 分配内存内存中的读写垃圾回收 对于内存的使用&#xff0c;所有语言基本都是一样的&#xff0c;只是更底层的语言在对于 ”分配内存“ 和 ”使用内存“ 是明确的&#xff0c;但是在高级语言中&#xff08;比如本文的 JS&#xff09;是隐藏了。 JS …

『python爬虫』05. requests模块入门(保姆级图文)

目录 安装requests1. 抓取搜狗搜索内容 requests.get2. 抓取百度翻译数据 requests.post3. 豆瓣电影喜剧榜首爬取4. 关于请求头和关闭request连接总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 安装requests …

Spring 中的顺序问题(别迟疑就是你想知道的顺序问题)

Spring 中的一些顺序问题 Spring 中的顺序问题并不是不重要&#xff0c;比如多个 BeanFactoryPostProcessor如何知道先执行哪一个&#xff1b;为什么自定义的 Bean 可以覆盖默认的自动装配的 Bean&#xff1b;AOP 拦截器链中拦截器的顺序是如何确定的等等问题。 相信看完这篇…

(数学知识)试除法判断质数,分解质因数,埃式与线性筛质数

质数 质数是指在大于1的自然数中&#xff0c;除了1和它本身以外不再有其他因数的自然数。 试除法判定质数 你会发现如果说一个数要分成两个数相乘的话&#xff0c;那么这两个数肯定都是成对出现的&#xff0c;有一大一小的相对关系。因此不需要从2遍历到n&#xff0c;循环的…

AI智能课程:第七讲-不会写代码?有chatGPT不用慌

chatGPT辅助自动化测试-常见用途 根据代码写需求 作为python编程小白&#xff0c;如何安装python环境 ### 怎么用python发送http请求 如何在http请求中&#xff0c;请求头带上token值&#xff0c;怎么发送请求 websrvice协议&#xff0c;用python语言基于websrvice发送请求…

【数据结构】第十三站:排序(下)归并排序

文章目录 一、归并排序递归法1.归并排序的基本思想2.归并排序的代码实现 二、归并排序非递归1.可否使用栈来模拟&#xff1f;2.直接改非递归(简化版)3.处理边界之一把梭哈4.处理边界之归并一次拷贝一次 一、归并排序递归法 1.归并排序的基本思想 归并排序&#xff08;MERGE-SO…

网络安全事件调查,如何追溯攻击者的行踪和攻击路径

在当今互联网的世界里&#xff0c;网络安全已成为一个非常重要的话题。随着网络攻击的不断增加&#xff0c;如何保护我们的网络安全已成为一个严峻的挑战。为了防止网络攻击&#xff0c;需要了解攻击者的行踪和攻击路径&#xff0c;以便更好地预防和应对网络攻击。 网络安全事…

SQLite 用C语言开发的原因有哪些?

SQLite 用C语言开发的原因有哪些&#xff1f; 一、引言1.1、SQLite是什么&#xff1f;1.2、SQLite的历史和现状 二、SQLite的优点三、使用C语言开发SQLite的原因3.1、C 语言的优势3.2、对比其他编程语言 四、SQLite与其他数据库的对比4.1、关系型数据库MySQL4.2、关系型数据库P…

Python小姿势 - 线程和进程:

线程和进程&#xff1a; Python里面线程是真正的并行执行&#xff0c;进程是可以并行执行的。 所谓进程&#xff0c;就是操作系统中执行一个程序的独立单元&#xff0c;它是系统进行资源分配和调度的基本单位。一个进程可以创建和撤销另一个进程&#xff0c;同一个进程内可以并…

Vue电商项目--axios二次封装

postman测试接口 刚刚经过postman工具测试&#xff0c;发现接口果然发生了改变。 新的接口为http://gmall-h5-api.atguigu.cn 如果服务器返回的数据code字段200&#xff0c;代表服务器返回数据成功 整个项目&#xff0c;接口前缀都有/api字样 axios二次封装 XmlHttpRequ…

EMC VPLEX VS2 FRU故障备件更换基本流程

本文是针对VPLEX VS2 备件更换流程的详细操作方法&#xff0c;其实VS6也是类似的。 首先要说明一点&#xff0c;EMC VPLEX的任何硬件故障更换都不是直接插拔来完成的&#xff0c;一定要执行脚本要完成更换&#xff0c;本文就是描述如何启动这个脚本和常见的一些问题&#xff0…

【react从入门到精通】初识React

文章目录 前言React技能树什么是 React&#xff1f;安装和配置 React创建 React 组件渲染 React 组件使用 JSX传递属性&#xff08;Props&#xff09;处理组件状态&#xff08;State&#xff09;处理用户输入&#xff08;事件处理&#xff09;组合和嵌套组件写在最后 前言 Reac…

群晖传输速度的问题

1、群晖被称“买软件送硬件”&#xff0c;所以同价位NAS中群晖的配置是很低的&#xff0c;一些入门级型号用起来明显卡顿就一点不奇怪了。 群晖各版本的CPU/内存配置可用在官网上查到&#xff0c;一个页面列出了所有产品的CPU/内存配置: 我的 Synology NAS 使用哪种 CPU&#…

【五一创作】Python 一文了解 OS 操作系统交互库简单使用方法

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect个人…

linux系统下C/C++静态库和动态库的制作及使用

C/C静态库和动态库的制作及使用 1 静态库的制作静态库简介1.1 编写源码1.2 生成目标文件1.3 ar归档,打包成静态库1.4 查看静态库1.5 测试静态库1.6 运行测试 2 动态库2.1 编写 Makefile2.2 编译链接动态库 1 静态库的制作 静态库简介 一般情况下&#xff0c;为了更好的支持开…

LC正弦波振荡器【高频电子线路】【Multisim】

目录 一、实验目的与要求 二、实验仪器 三、实验内容与测试结果 1、观察起振过程 2、观测稳定的输出波形及振荡频率的变化 3、测试静态工作点对起振和输出幅度的影响 4、测试回路电容对振荡频率和输出幅度的影响&#xff0c;并理论上给出解释 四、实验结果分析 一、实验…

【社区图书馆】【图书活动第四期】

目录 一、前言 二、作者简介 三、《PyTorch高级机器学习实战》内容简介 四、书目录 一、前言 今天&#xff0c;偶尔逛到csdn社区图书馆&#xff0c;看到有活动 “【图书活动第四期】来一起写书评领实体奖牌红包电子勋章吧&#xff01;”&#xff08;活动到今天结束&#xf…

荔枝派Zero(全志V3S)开启 SSH 实现远程连接和文件传输

文章目录 前言一、配置 buildroot二、编译 buildroot三、拷贝到 SD 卡四、测试 ssh1、修改 /etc/ssh/sshd_config 文件2、运行 /usr/sbin/sshd3、使用 SecureCRT 测试4、使用 SecureFx 测试 前言 本文将在 Buildroot 根文件系统开启 ssh 功能。 一、配置 buildroot 1、在 bui…