本文目錄一覽:
- 1、關於jsp連接mysql數據庫註冊用戶代碼的問題
- 2、jsp + mysql 會員登陸和註冊代碼怎麼寫,最好簡單點,要能用的呀
- 3、求大神寫一下jsp的簡單的註冊界面代碼。
- 4、急求jsp連接mysql 用戶註冊界面代碼 需要把輸入的數據存入數據庫
- 5、jsp連接mysql數據庫註冊用戶代碼的問題
關於jsp連接mysql數據庫註冊用戶代碼的問題
必須有jdbc的驅動,jdbc的意思是Java Data Base Connectivity,連接的時候需要他的驅動程序,不同的IDE編譯環境有不同的導入方法。
但是總體步驟是你先下載JDBC的驅動,解壓後有個jar文件,你將它導入到你的編譯環境即可。
我這裡提供兩個mysql jdbc driver 的驅動下載地址。
1.javaeye提供的:
2.官網(英文):
關於jdbc的導入,你可以根據你使用的環境到網上搜一些資料,我這裡就不提供了。
jsp + mysql 會員登陸和註冊代碼怎麼寫,最好簡單點,要能用的呀
沒錯…
你使用什麼服務器?
使用Tomcat,就把mysql的連接jar包放在%Tomcat%\common\lib 下.
//下面是會員登錄是驗證部分…註冊大部分類似,修改SQL語句..
%@ page contentType=”text/html;charset=gb2312″%
%@ page import=”java.sql.*”%
html
head
title用戶登陸/title
/head
body
center
h1用戶登陸案例 —— JSP + JDBC實現/h1
hr
br/
br/
%–
SQL注入漏洞
–%
%!
final String DBDRIVER = “com.jdbc.odbc.mysql” ;
final String DBURL = “jdbc:mysql://localhost:3306/test?user=rootpassword=useUnicode=truecharacterEncoding=GBK” ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
%
%
// 接收用戶的真實姓名
String name = null ;
// 如果合法,則將flag變為true
boolean flag = false ;
String id = request.getParameter(“id”) ;
String password = request.getParameter(“password”) ;
String sql = “SELECT name FROM person WHERE id=? AND password=?” ;
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnectionDBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,id) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery() ;
if(rs.next())
{
name = rs.getString(1) ;
flag = true ;
}
rs.close() ;
pstmt.close() ;
conn.close() ;
}
catch(Exception e)
{
System.out.println(e) ;
}
%
%
if(flag)
{
// 用戶合法
request.setAttribute(“name”,name) ;
%
jsp:forward page=”login_success.jsp”/
%
}
else
{
// 用戶非法
%
jsp:forward page=”login_failure.htm”/
%
}
%
/center
/body
/html
求大神寫一下jsp的簡單的註冊界面代碼。
1.需要一個jsp頁面:
//login.jsp核心代碼:
form action=”${pageContext.request.contextPath}/servlet/UserServlet” method=”post”
input type=”text” name=”loginname” /input type=”password” name=”password”/
input type=”submit” value=”登錄”/
/form
2.需要一個servlet來驗證登錄信息
//UserServlet 核心代碼
class UserServlet extends HttpServlet{
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
private void process(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
PrintWriter pw = response.getWriter();
request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html”);
String loginname = request.getParameter(“loginname”);
String password = request.getParameter(“password”);
//創建一個service來處理業務邏輯(包括查詢數據庫操作)
UserService service = new UserService();
boolean bool = service.validateUser(loginname,password);
if(!bool){
pw.println(“用戶名或密碼錯誤”);
}else{
pw.println(“登錄成功”);
}
}
3.需要一個service處理業務邏輯(包括查詢數據庫操作)
//UserService 核心代碼
public class UserService{
/**
*查詢數據庫驗證用戶是否存在,返回boolean
*/
public boolean validateUser(String loginname,String password){
boolean bool = false;
Connection conn = null;
PreparedStatement ps = null;
//這裡以mysql為例
try {
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”, “root”, “”);
String sql = “select login_name,pass_word from t_user where login_name=? and pass_word=?”;
ps = conn.prepareStatement(sql);
ps.setString(0, loginname);
ps.setString(1, password);
ResultSet rs = ps.executeQuery();
if(rs.next()){
bool = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if(conn != null){
conn.close();
conn = null;
}
if(ps != null){
ps.close();
ps = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return bool;
}
}
急求jsp連接mysql 用戶註冊界面代碼 需要把輸入的數據存入數據庫
有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。前者使用起來比較簡便。推薦使用。
1. check table 和 repair table
登陸mysql 終端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出現的結果說Status是OK,則不用修復,如果有Error,可以用:
repair table tabTest;
進行修復,修復之後可以在用check table命令來進行檢查。在新版本的phpMyAdmin裡面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為缺省的數據表類型,這裡以myisamchk為例子進行說明。當發現某個數據表出現問題時可以使用:
myisamchk tablename.MYI
進行檢測,如果需要修復的話,可以使用:
myisamchk -of tablename.MYI
關於myisamchk的詳細參數說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL服務器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL服務器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local裡面啟動MySQL服務器前:
[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數據庫存放的位置。
需要注意的時,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL服務器必須沒有啟動!檢測修復所有數據庫(表)
jsp連接mysql數據庫註冊用戶代碼的問題
stat=conn.prepareStatement(“insert wei values(?,?,?)”);
stat.setString(1,reg_name);
stat.setString(2,reg_pass);
stat.setString(3,reg_pass1);
if(reg_pass1!=(reg_pass)){
out.println(“scriptalert(‘密碼不一致,請重新輸入!’);location.replace(‘zhuce.jsp’)/script”);
flag=false;
}
stat.executeUpdate();
這塊代碼把 if(reg_pass1!=(reg_pass))改成if(!reg_pass1.equals(reg_pass)),要解決為什麼插入數據庫的問題,在stat.executeUpdate();加個判斷if(!flag){
stat.executeUpdate();
}
原創文章,作者:CPMP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142033.html