java ajax

1.ajax定义:异步刷新技术

2.ajax语法

 3.ajax实战

在不需要点击刷新按钮时达到局部刷新显示,如下图所示

 

 

 

 

 步骤一:创建工程/包/js

 步骤二:数据库/表创建

步骤三:实体类

步骤四:UserDao

package cn.kgc.dao;import cn.kgc.entity.User;public interface UserDao {//1.判断用户名称是否存在public User findByUserName(String username);//2.通过用户名和密码判断是否正确public  User findUser(User user);
}

步骤五:UserDaoImpl

package cn.kgc.dao;import cn.kgc.entity.User;
import cn.kgc.util.BaseDao;import java.sql.SQLException;public class UserDaoImpl extends BaseDao implements UserDao {public User findByUserName(String username) {User user = null;rs = super.executeQuery("select * from t_user where username = ?",new Object[]{username});try {while (rs.next()){user = new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("username"));user.setUserpwd(rs.getString("userpwd"));}} catch (SQLException e) {throw new RuntimeException(e);} finally {super.closeConn();}return user;}public User findUser(User u) {User user = null;rs = super.executeQuery("select * from t_user where username = ? and userpwd=?",new Object[]{u.getUsername(),u.getUserpwd()});try {while (rs.next()){user = new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("username"));user.setUserpwd(rs.getString("userpwd"));}} catch (SQLException e) {throw new RuntimeException(e);} finally {super.closeConn();}return user;}
}

步骤六:UserService

package cn.kgc.service;import cn.kgc.entity.User;public interface UserService {public String validate(User user);
}

步骤七:UserServiceImpl

package cn.kgc.service;import cn.kgc.dao.UserDaoImpl;
import cn.kgc.entity.User;public class UserServiceImpl implements UserService{UserDaoImpl userDao = new UserDaoImpl();public String validate(User user) {String message="";//判断如果输入用户的名称存在if (user.getUsername()!=null &&!"".equals(user.getUsername())){//通过输入的用户名称 判断是否存在于数据库中User u = userDao.findByUserName(user.getUsername());//如果数据库中不存在当前的用户名称,则返回操作码1000if (u==null){message = "1000";}else {User u2 = userDao.findUser(user);//如果数据库中用户名或密码错误,则返回操作码2000if (u2==null){message = "2000";}}}return message;}
}

步骤八:UserServlet

package cn.kgc.servlet;import cn.kgc.entity.User;
import cn.kgc.service.UserServiceImpl;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;public class UserServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String action = request.getParameter("action");UserServiceImpl userService = new UserServiceImpl();if (action.equals("validate")){String username = request.getParameter("username");String userpwd = request.getParameter("userpwd");User user = new User();user.setUsername(username);user.setUserpwd(userpwd);String validate = userService.validate(user);//以流的形式将操作码返回到客户端response.getWriter().write(validate);}}
}

步骤9:login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Title</title><script type="text/javascript" src="js/jquery-1.9.1.min.js"></script><script type="text/javascript">function validate(){var flag = true;var username = $("[name=\"username\"]").val();var userpwd = $("[name=\"userpwd\"]").val();$.ajax({url:"UserServlet?action=validate",type:"post" ,data: {"username":username,"userpwd":userpwd},dataType: "text",async:false,success:function (data){$("#message1").empty();$("#message2").empty();if (data=="1000"){$("#message1").text("用户名不存在")flag = false;}else if (data=="2000"){$("#message2").text("用户名或密码错误")flag = false;}},error:function (){}})return flag;}function validateLogin() {var username = $("[name=\"username\"]").val();var userpwd = $("[name=\"userpwd\"]").val();if (username==""){alert("用户名不能为空");return false;}if (userpwd==""){alert("用户密码不能为空");return false;}var flag = validate();if (flag){window.location.href="index.jsp";}}</script>
</head>
<body><table><tr><td>用户名称</td><td><input type="text" name="username" onblur="validate()"><span id="message1" style="color: red"></span></td></tr><tr><td>用户密码</td><td><input type="text" name="userpwd" onblur="validate()" ><span id="message2" style="color: red"></span></td></tr><tr><td><input id="loginButton" type="button" value="登录" onclick="validateLogin()"></td></tr></table>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟现实:将数字融入现实

随着科技的不断进步&#xff0c;虚拟现实正逐渐走进我们的现实生活&#xff0c;为我们带来了许多新的体验和可能性。虚拟现实技术将数字世界与真实世界融合在一起&#xff0c;为我们创造了令人惊叹的沉浸式体验。让我们一起探索虚拟现实正在走进现实的意义和影响。 虚拟现实为我…

详解 ➾【FTP服务工作原理及连接模式】

详解 ➾【FTP服务工作原理及连接模式】 &#x1f53b; 前言&#x1f53b; 一、FTP服务简介&#x1f6a5; 1.1 FTP工作原理&#x1f6a5; 1.2 匿名用户访问的产生&#x1f6a5; 1.3 FTP服务的连接模式&#x1f6a5; 1.4 几种流行的FTP服务器软件 &#x1f53b; 总结—温故知新 &…

AIGC提示(prompt)工程之开宗明义篇

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

物流难统计、难管理?学会这招,问题迎刃而解

在当今数字化的时代&#xff0c;商家面临着诸多物流挑战。物流数据人工统计成本高、管理难、决策难是很常见的问题。本文将探讨如何通过智能数据分析解决这些问题&#xff0c;帮助商家提升物流效率和管理能力。 物流数据人工统计&#xff0c;难决策 物流数据沉淀全靠人工线下…

uniapp H5预览PDF文件

1&#xff0c;下载资源后hybrid文件存放在static静态文件里 (点击这里去下载文件) 2&#xff0c;pdf预览页面配置 <template><view style"width: 100vh;"><web-view :src"pdfUrl"></web-view></view> </template><…

Git基本操作

.. 1、创建一个空的项目&#xff0c;获取到git地址&#xff1a;https://gitcode.net/ldy889/git-demo-project.git 2、在本地D盘克隆出项目。 3、检查当前的状态。 4、修改代码前先创建任务分支。比如 home 然后我们添加一个文件尝试提交。 提交成功后将home推送到远程 &am…

TIOBE统计数据

TIOBE统计数据&#xff08;2023年7月&#xff09; TIOBE Index编程社区指数是编程语言流行度的一个指标。评级基于全球熟练工程师的数量、课程和第三方供应商的数量。Google、Bing、Yahoo!、维基百科、亚马逊、YouTube 和百度等流行搜索引擎用于计算评级。 七月头条&#xff1…

ES(1)简介和安装

文章目录 简介倒排索引 安装 简介 ES是面向文档型数据库&#xff0c;一条数据在这里就是一个文档。 和关系型数据库大致关系如下: ES7.x中废除掉Type&#xff08;表&#xff09;的概念 倒排索引 要知道什么是倒排索引&#xff0c;就要先知道什么是正排索引 idcontent100…

Stable Diffusion生成图片参数查看与抹除

前几天分享了几张Stable Diffusion生成的艺术二维码&#xff0c;有同学反映不知道怎么查看图片的参数信息&#xff0c;还有的同学问怎么保护自己的图片生成参数不会泄露&#xff0c;这篇文章就来专门分享如何查看和抹除图片的参数。 查看图片的生成参数 1、打开Stable Diffus…

DES加密解密 Feistel算法网络结构 详讲

文章目录 简单知识导入&#xff1a;具体过程&#xff1a;IP置换&#xff08; 64 − > 64 64->64 64−>64&#xff09;轮函数--E扩展置换&#xff08; 32 − > 48 32->48 32−>48&#xff09;轮函数--与子密钥异或&#xff08; 48 − > 48 48->48 48−&…

scss 预处理器自定义ui框架(bem架构)

BEM架构 bem架构 它是一种css架构 oocss 实现的一种 &#xff08;面向对象css&#xff09; &#xff0c;BEM实际上是block、element、modifier的缩写&#xff0c;分别为块层、元素层、修饰符层&#xff0c;element UI 也使用的是这种架构 BEM 命名约定的模式是&#xff1a; …

介绍AI绘画课,让智能工具助力创作 释放无限想象力 助你成为绘画大师

演示地址&#xff1a; www.runruncode.com/portal/article/index/id/19458/cid/81.html 画画是一项有趣的活动&#xff0c;它让人充满无限可能。对许多人来说&#xff0c;画画既是一种放松的方式&#xff0c;也是一种与创意、文化和艺术联系的途径。如果你是一个初学者&#x…