JSP(ajax)+Servlet實現簡單的登入功能
之前在jsp中寫js或者引入js,有不少引入了沒什麼效果,和用HBuilder寫的效果差了很多,花了不少時間弄,沒有搞定,應該是自己的底子太差勁了,對jsp和js的理解不夠深;今天學了Ajax發現不少的東西用Ajax寫起來更方便些。我就簡單的寫一個小功能實現一下登入。
//這是登入介面
<%@ 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>Insert title here</title>
</head>
<body>
//form表單
<form action="">
姓名:<input type="text" id="myinput" name="name" />
<span id="myspan"></span>
<br />
密碼:<input type="password" id="mypwd" name="pwd" />
<br />
<input type="button" id="mybt" onclick="jump()" value="提交">
</form>
</body>
<script type="text/javascript">
//定義一個全域性的ajax變數
var ajax;
//getAjax()方法用來獲取一個Ajax物件
function getAjax() {
try {
//現代的瀏覽器獲取Ajax的方法
ajax = new XMLHttpRequest();
} catch (e) {
//try中無法執行,得到錯誤,catch抓取錯誤,ie7以下的版本獲取Ajax的方法
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
//返回一個Ajax物件
return ajax;
}
function jump() {
//得到Ajax的物件
ajax = getAjax();
//使用open方法與伺服器建立連線
ajax.open("POST", "/java-9-19day/logins", true);
//監聽ajax的狀態,每當狀態改變時,就會呼叫該函式
ajax.onreadystatechange = function() {
//當Ajax滿足以下條件時就會進入下一步
if (ajax.readyState == 4 && ajax.status == 200) {
//獲取伺服器返回的資料
var result = ajax.responseText;
if (result == "true") {
//滿足條件就轉到welcome.jsp
location.href = "/java-9-19day/welcome.jsp";
document.getElementById("mybt").disabled = false;
} else {
//不滿足條件進行提示,並將按鈕變成不可用狀態
document.getElementById("myspan").innerHTML = "error";
document.getElementById("mybt").disabled = true;
}
}
}
//Ajax時post提交,必須寫這個請求頭,就這麼寫,都是一樣的
ajax.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
//獲得form表單的資料
var name = document.getElementById("myinput").value;
var pwd = document.getElementById("mypwd").value;
//將其拼接成一個,傳送到servlet中
var param = "name=" + name + "&password=" + pwd;
ajax.send(param);
}
</script>
</html>
package com.coding.ajaxpost;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/logins")
public class MyLoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf8");
System.out.println("come in");
//得到拼接的資料
String name = req.getParameter("name");
String pwd = req.getParameter("password");
System.out.println(name+"--"+pwd);
//進行判斷
if (name.equals("admin") && pwd.equals("123")) {
//進行響應,返回資料
resp.getWriter().print(true);
}else {
resp.getWriter().print(false);
}
}
}
繼續加油,程式設計師的道路才剛剛開始!!!
相關文章
- layui使用html+servlet+ajax實現登入驗證UIHTMLServlet
- Flask-Login 讓實現登入功能變簡單Flask
- jsp+servlet登入註冊頁面JSServlet
- Java Web簡單登陸功能的實現JavaWeb
- 訂單交易平臺三(登入介面整個實現過程)階段一(只實現簡單的登入功能)
- Java Servlet session實現登入退出JavaServletSession
- laravel_admin 單一登入的簡單實現Laravel
- Servlet實現、與html的簡單互動ServletHTML
- jQuery Ajax 跨域前端實現登入jQuery跨域前端
- Dcat Admin實現簡單的excel匯入功能Excel
- 基於jsp和servlet簡單的java web開發(idea)JSServletJavaWebIdea
- 聊天室原始碼開發,如何簡單的實現掃碼登入功能?原始碼
- SSM專案搭建及實現簡單的登入SSM
- node+ajax+mysql實現登入註冊MySql
- 一起來實現單使用者登入 —— 功能實現
- Javaee入門篇一之利用JSP+jdbc+MYSQL 部署至伺服器實現簡單的留言功能。JavaJSJDBCMySql伺服器
- JSP程式設計實現簡單使用者7天內免登入及示例程式碼JS程式設計
- JSP程式設計實現使用者自動登入功能示例程式碼JS程式設計
- webscoket+jsp實現簡單的多人聊天頁面WebJS
- servlet實現下載功能Servlet
- ajax 實現微信網頁授權登入網頁
- node+express+mongDB實現簡單登入註冊Express
- 用 hyperf websocket 實現,類似 qq 單機登入功能Web
- Flutter系列:2.實現一個簡單的登入介面Flutter
- 基於Promise實現對Ajax的簡單封裝Promise封裝
- JSP+Servlet+JDBC+mysql實現的個人日記本系統JSServletJDBCMySql
- HTML基礎實現簡單的註冊和登入頁面HTML
- JSP實現servlet對資料庫的增刪查改操作JSServlet資料庫
- 簡單實現第三方qq登入和分享
- 簡單登入註冊實現(Java物件導向複習)Java物件
- 跨域分散式系統單點登入的實現(CAS單點登入)跨域分散式
- 單點登入的三種實現方式
- jsp頁面表單不輸入卻能登入成功?JS
- 超簡單實現iOS列表的索引功能iOS索引
- Vue實現簡單的購物車功能Vue
- jsp的簡單應用JS
- 實戰模擬│單點登入 SSO 的實現
- 基於 Session 實現簡訊登入Session