首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ajax——无刷新页面的登录界面(提供类似C/S的交互效果,操作更方面)

Ajax——无刷新页面的登录界面(提供类似C/S的交互效果,操作更方面)

作者头像
用户10196776
发布2022-11-18 20:31:56
发布2022-11-18 20:31:56
6740
举报

//简单了解一下Ajax是什么?

//这是一个登录界面的jsp文件代码

代码语言:javascript
复制
<script type="text/javascript">
	function  login() {
		//接收用户名
		var uname = document.getElementById("uname").value;
		var upwd = document.getElementById("upwd").value;
		//声明一个xmlhttpRequest对象
		var xmlhttp;
		try{
			xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
		}
		catch(e){
			xmlhttp=new XMLHttpRequest();
		}
		//连接服务器
		xmlhttp.open("post","LoginServlet?uname="+uname+"&upwd="+upwd,true);
		//设置请求头信息
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		//设置回调函数
		xmlhttp.onreadystatechange=function(){
			//判断请求响应结束
			if(xmlhttp.readyState==4){
				//服务器正常
				if(xmlhttp.status==200){
					//接收响应的数据
					var str = xmlhttp.responseText;
					if(str=="ok"){
						document.getElementById("sp").innerHTML="✔";
					}else{
						document.getElementById("sp").innerHTML="×";
					}
				}
			}
		}
		//发送
		xmlhttp.send(null);
	}
	
</script>
</head>
<body>
<form action="">
		用户名:<input type="text" id="uname"><br>
		密码:<input type="password" id="upwd" onblur="login()"><br>
		<span id="sp"></span>
		<input  type="submit" value="登录">
		<input  type="reset" value="重置">
</form>
</body>
</html>

//其中所需要的包有:http://fastjson-1.1.jar ojdbc14.jar

//接下来是Servlet 来接收数据:

代码语言:javascript
复制
public class LoginServlet extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//接收数据
		String uname = req.getParameter("uname");
		String upwd = req.getParameter("upwd");
		System.out.println("uname:"+uname);
		System.out.println("upwd:"+upwd);
		resp.setCharacterEncoding("utf-8");
		
		//获取响应的 输出流
		PrintWriter out = resp.getWriter();
		
		if("admin".equals(uname) && "123".equals(upwd)) {
			out.print("ok");
		}else {
			out.print("no");
		}
		out.close();
	}
	

}

//然后呢?了解一下Ajax的一些常用方法: 

//补充一下:(就是在写的过程中可能会报错)以下图片是知道自己的错误信息的参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档