javaweb專案(1)連線資料庫,登入註冊
servlet
login Servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String pwd =request.getParameter("pwd");
System.out.println(name+pwd);
String cook =request.getParameter("cookie");
String code1=request.getParameter("code");
HttpSession session=request.getSession(true);
String code2=(String)session.getAttribute("rand");
UserDao ud=new UserDao();
if(code2.equalsIgnoreCase(code1)) {
try {
if(ud.isLogin(name, pwd)==1) {
if(cook!=null) {
Cookie CookieName=new Cookie("name",name);
Cookie CookiePwd=new Cookie("pwd",pwd);
CookieName.setMaxAge(60*60);
CookiePwd.setMaxAge(60*60);
response.addCookie(CookieName);
response.addCookie(CookiePwd);
System.out.println(CookieName);
System.out.println(CookiePwd);
}
session.setAttribute("name", name);
System.out.println(session.getAttribute(name));
response.sendRedirect("loginSuccess.jsp");
}else {
request.setAttribute("loginInfo","使用者名稱或密碼錯誤!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}else {
request.setAttribute("loginInfo", "驗證碼輸入錯誤!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
register Servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String pwd =request.getParameter("pwd");
String repwd =request.getParameter("repwd");
System.out.println(name+pwd+repwd);
String code1=request.getParameter("code");
HttpSession session=request.getSession(true);
String code2=(String)session.getAttribute("rand");
UserVO user=new UserVO();
user.setUserName(name);
user.setPwd(pwd);
UserDao ud=new UserDao();
if(code2.equalsIgnoreCase(code1)) {
try {
if(ud.isExit(name)==0){
if(pwd.length()<6||pwd.length()>10) {
request.setAttribute("loginInfo","密碼在6位到10位之間");
request.getRequestDispatcher("register.jsp").forward(request, response);
}
else if(pwd==repwd){
request.setAttribute("loginInfo","兩次輸入的密碼不同");
request.getRequestDispatcher("register.jsp").forward(request, response);
}
else {
ud.addUser(user);
response.sendRedirect("login.jsp");
}
}else {
request.setAttribute("loginInfo","該使用者已存在,請重新設定暱稱");
request.getRequestDispatcher("register.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}else {
request.setAttribute("loginInfo", "驗證碼輸入錯誤!");
request.getRequestDispatcher("register.jsp").forward(request, response);
}
}
DAO
public int isExit(String uname)throws Exception{//判斷使用者名稱是否存在
int b=0;//使用者名稱不存在
Connection con=DBUtil.connectDB();
String sql="select * from user_info1 where user_name=?";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, uname);
ResultSet rs=ps.executeQuery();
if(rs.next()) {//使用者名稱存在
b=1;
}
close(rs,ps,con);
return b;
}
public int isLogin(String uname,String pwd)throws Exception{//登入
int b=0;//使用者不存在
Connection con=DBUtil.connectDB();
String sql="select * from user_info1 where user_name=? and pwd=?";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, uname);//指定user_name為uname
ps.setString(2, pwd);
ResultSet rs=ps.executeQuery();//操作物件呼叫查詢方法,返回一個ResultSet類的值
if(rs.next()) {
b=1;
}
System.out.println(b);
close(rs,ps,con);
return b;
}
public void addUser(UserVO user)throws Exception{//UserVO包含使用者個人資料屬性
Connection conn=DBUtil.connectDB();
String sql="INSERT INTO user_info1(user_name,pwd,age,sex,create_dt)"+"VALUES(?,?,?,?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,user.getUserName());
pstmt.setString(2,user.getPwd());
pstmt.setInt(3, user.getAge());
pstmt.setInt(4, user.getSex());
pstmt.setDate(5,new Date(new java.util.Date().getTime()));
pstmt.execute();
}
JSP
login
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登入</title>
<style type="text/css">
body {
border: 1px solid #ADD8E6;
width: 380px;
text-align: center;
background-image: url(bai.jpg);
background-size:100% 100%;
fileter:alpha(opacity=80);
-moz-opacity: 0.8;
opacity: 0.8;
font-family: Arial, Helvetica,sans-serif;
margin-top: 200px;
margin-left: auto;
margin-right: auto;
}
#header {
padding:10px;
margin: 0px;
background-color:#568271;
height: 50px;
text-align: center;
}
#header p{
font-family: cambria;
padding-top:10px;
font-size: 40px;
margin: 10px;
color: #9370db;
}
#contain {
height: 200px;
border: 2px solid #ADD8E6;
text-align: center;
line-height: 1.5em;
background: -webkit-linear-gradient(top,lavender,lightsteelblue);
padding:10px;
margin: 0px;
}
#footer {
padding:10px;
background-color:#568271;
text-align: center;
}
* {
margin: 0px;
padding: 0px;
}
</style>
</head>
<script type="text/javascript">
function refreshCode(){
document.getElementById("code").src="validateCodeServlet?t="+Math.random();
}
</script>
<body>
<form action="loginServlet" method="post">
<div id="header"></div>
<div id="contain">
<div><%=request.getAttribute("loginInfo")==null?"":request.getAttribute("loginInfo")%></div>
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name" value="${cookie.name.value}"/></td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="password" name="pwd" value="${cookie.pwd.value}"/></td>
</tr>
<tr>
<td>驗證碼:</td>
<td><input type="text" name="code"></td>
</tr>
<tr>
<td class="ared"><img id="code" src="before_validateCode"/></td>
<td><a href="javascript:refreshCode();"><font color="green">看不清楚,換一張</font></a></td>
</tr>
<tr>
<td>記住密碼</td>
<td><input type="checkbox" name="cookie" value="cookie"></td>
</tr>
<tr>
<td align="right"><input type="reset" value="取消"></td>
<td><input type="submit" value="確定"></td>
</td>
</tr>
<tr>
<td>沒有賬號?<a href="register.jsp">立即註冊</a></td>
</tr>
</table>
</form>
</div>
<div id="footer">Copyright@Rotuce</div>
</body>
</html>
register
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
body {
border: 1px solid #ADD8E6;
width: 380px;
text-align: center;
background-image: url(bai.jpg);
background-size:100% 100%;
fileter:alpha(opacity=80);
-moz-opacity: 0.8;
opacity: 0.8;
font-family: Arial, Helvetica,sans-serif;
margin-top: 200px;
margin-left: auto;
margin-right: auto;
}
#header {
padding:10px;
margin: 0px;
background-color:#568271;
height: 50px;
text-align: center;
}
#header p{
font-family: cambria;
padding-top:10px;
font-size: 40px;
margin: 10px;
color: #9370db;
}
#contain {
height: 200px;
border: 2px solid #ADD8E6;
text-align: center;
line-height: 1.5em;
background: -webkit-linear-gradient(top,lavender,lightsteelblue);
padding:10px;
margin: 0px;
}
#footer {
padding:10px;
background-color:#568271;
text-align: center;
}
* {
margin: 0px;
padding: 0px;
}
</style>
<title>註冊</title>
</head>
<script type="text/javascript">
function refreshCode(){
document.getElementById("code").src="validateCodeServlet?t="+Math.random();
}
</script>
<body style="background-image:url('images/bb.jpg');">
<div id="header"></div>
<div id="contain">
<form action="registerServlet" method="post" name="registForm">
<div><%=request.getAttribute("loginInfo")==null?"":request.getAttribute("loginInfo")%></div>
<table>
<tr>
<td>暱稱:</td>
<td>
<input class="textSize" type="text" id="uname" name="name" placeholder="名字不能為空" />
<span id="isExit"></span>
</td>
</tr>
<tr>
<td>密碼:</td>
<td><input class="textSize" type="password" name="pwd" placeholder="密碼在6位到10位之間"/></td>
</tr>
<tr>
<td>確認密碼:</td>
<td><input class="textSize" type="password" name="repwd" placeholder="再輸入一遍密碼進行確認"/></td>
</tr>
<tr>
<td>驗證碼:</td>
<td><input type="text" name="code"></td>
</tr>
<tr>
<td class="ared"><img id="code" src="before_validateCode"/></td>
<td><a href="javascript:refreshCode();"><font color="green">看不清楚,換一張</font></a></td>
</tr>
<tr>
<td align="right"><input type="reset" value="重置"></td>
<td><input type="submit" value="註冊" onclick="return go()"></td>
</tr>
<tr>
<td>已有賬號?<a href="login.jsp">馬上登入</a></td>
</tr>
</table>
</form>
</div>
<div id="footer">Copyright@Rotuce</div>
</body>
</html>
下一篇:javaweb驗證碼的自動生成
相關文章
- javaWeb 簡單註冊登入(含資料庫連線) -- (四) 使用者登入請求與響應JavaWeb資料庫
- javaWeb登入註冊頁面JavaWeb
- Python + Tkinter簡單實現註冊登入(連線本地MySQL資料庫)PythonMySql資料庫
- 10.註冊和登入功能實現(3)—— 註冊資料寫入資料庫資料庫
- 簡單的登入註冊(前端+後端+MySQL資料庫 DRuid連線池 DBUtils)前端後端MySql資料庫UI
- 【JavaWeb】JDBC連線MySQL資料庫JavaWebJDBCMySql資料庫
- Javaweb-資料庫連線池JavaWeb資料庫
- rman連線catalog註冊資料庫問題資料庫
- WebForm登入頁面(連線資料庫)WebORM資料庫
- JavaWeb之事務&資料庫連線池JavaWeb資料庫
- Halo 開源專案學習(三):註冊與登入
- PHP註冊登入:包括資料存入資料庫,生成隨機驗證碼PHP資料庫隨機
- 20160409 javaweb 資料庫連線池JavaWeb資料庫
- SpringBoot專案連線MySQL資料庫Spring BootMySql資料庫
- 登入介面:從資料庫中獲取資訊驗證登入(與註冊介面相聯絡)資料庫
- swing 實現使用者登入註冊介面(不使用資料庫)資料庫
- [轉] 連線資料庫查詢手冊資料庫
- C# 連線多種資料庫元件,類庫專案C#資料庫元件
- 【C++小專案---3】連線資料庫檢測使用者名稱密碼、實現登入C++資料庫密碼
- 【連線】禁止以作業系統認證方式登入資料庫作業系統資料庫
- 專案:IT資源共享資源(登入前端)<1>前端
- JavaWeb專案入門JavaWeb
- 個人作業登入+註冊
- python 簡易微信實現(註冊登入+資料庫儲存+聊天+GUI+檔案傳輸)Python資料庫GUI
- 填坑:註冊登入專案--Token以及Github第三方登入(Vue + Koa2)GithubVue
- 織夢CMS(dedecms)的資料庫連線檔案_織夢連線資料庫檔案資料庫
- MySql資料庫連線池專題MySql資料庫
- springboot專案整合druid資料庫連線池Spring BootUI資料庫
- js登入與註冊驗證JS
- 使用redis完成註冊和登入Redis
- APP「登入註冊模組」詳解APP
- laravel使用者登入註冊Laravel
- "留拍"-註冊/登入詳解
- android專案點餐app1:基礎功能:閃屏頁、登入頁面、註冊頁面AndroidAPP
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 帶你進入資料庫連線池資料庫
- JDBC連線批量處理資料入庫JDBC
- 連線資料庫資料庫