我不確定如何訪問我的參數,然後使用它們在我的數據庫中註冊用戶。登錄系統/註冊用戶
這裏是register.jsp
<%@page import="java.util.Enumeration"%>
<%@ 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">
<LINK href="style.css" rel="stylesheet" type="text/css">
<title>Opret bruger</title>
<jsp:useBean id="dbconnect" class="dbconnection.dbconnect.CreateUser" scope="session"></jsp:useBean>
<jsp:setProperty name="dbconnect" property="*" />
</head>
<body>
<%
if(dbconnect.loggedIn){
response.sendRedirect("minprofil.jsp");
}
%>
<form>
<p><label for="navn">Navn:</label><input type="text" name="navn" /></p>
<p><label for="efternavn">Efternavn:</label><input type="text" name="efternavn" /></p>
<p><label for="alder">Alder:</label><input type="text" name="alder" /></p>
<p><label for="email">Email:</label><input type="text" name="email" /></p>
<p><label for="username">Brugernavn:</label><input type="text" name="username" /></p>
<p><label for="password">Kodeord:</label><input type="text" name="password" /></p>
<p><label for="retypepassword">Gentag kodeord:</label><input type="text" name="retypepassword" /></p>
<p><label for="yndlingshold">Yndlingshold:</label><input type="text" name="yndlingshold" /></p>
<p class="submit">
<input type="submit" name="goToLogin" value="Gå til login" />
<input type="submit" name="OpretBruger" value="Opret bruger" />
</p>
</form>
<%
if(request.getParameter("goToLogin")!=null)
response.sendRedirect("login.jsp");
if(request.getParameter("OpretBruger")!=null){
What should i do here ?
"OpretBruger" means "Create user" in english
}
%>
</body>
</html>
的JSP代碼,然後這是我的Java Bean連接到數據庫和管理所有這些
package dbconnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;
public class dbconnect {
private static Connection con;
String username;
String password;
int age;
String name;
public Boolean loggedIn = false;
private ResultSet rs;
CreateUser createuserClass = new CreateUser();
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
public void setUsername(String username){
this.username = username;
}
public void setPassword(String password){
this.password = password;
}
public synchronized static void init(){
if(con!=null)
return;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql:///BLANKED OUT","BLANKED OUY","BLANKED OUT");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("Could not find class, quitting.");
}// Loading DB driver
catch (SQLException e) {
e.printStackTrace();
System.out.println("SQLException, quitting");
}
}
public void checkLogin(){
try {
PreparedStatement login = con.prepareStatement("SELECT * FROM brugere WHERE brugernavn=? AND password=?"); // REMEMBER TO CHANGE TABLE NAME IF DIFFERENT DB IS USED!
login.setString(1, username);
login.setString(2, password);
rs = login.executeQuery();
if(rs.next()){
loggedIn = true;
setInfo();
}else{
loggedIn = false;
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("SQL exception in dbconnect, method = checklogin");
}
}
public void setInfo(){
try {
this.name = rs.getString(1) + " " + rs.getString(2);
this.username = rs.getString(5);
this.age = rs.getInt(3);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Something fucked up");
}
}
// Class til at oprette brugeren. Denne får parametre fra registrer.jsp og sætter dem som globale variable
class CreateUser{
// navn | efternavn | alder | email | brugernavn | password | hold
String navn;
String efternavn;
int alder;
String email;
String brugernavn;
String password;
String hold;
public void setNavn(String navn){
this.navn = navn;
}
public void setEfternavn(String efternavn){
this.efternavn = efternavn;
}
public void setAlder(int alder){
this.alder = alder;
}
public void setEmail(String email){
this.email = email;
}
public void setBrugernavn(String brugernavn){
this.brugernavn = brugernavn;
}
public void setPassword(String password){
this.password = password;
}
public void setHold(String hold){
this.hold = hold;
}
// Funktionen som skal køres for, at opdatere database table
public void createUser(){
try{
PreparedStatement opretBruger = con.prepareStatement("INSERT INTO account VALUES(?,?,?,?,?,?,?)");
opretBruger.setString(1, navn);
opretBruger.setString(2, efternavn);
opretBruger.setInt(3, alder);
opretBruger.setString(4, email);
opretBruger.setString(5, brugernavn);
opretBruger.setString(6, password);
opretBruger.setString(7, hold);
opretBruger.executeUpdate();
}catch(Exception e) {
e.printStackTrace();
System.out.println(navn + " " + efternavn + " " + alder);
System.out.println("Problemer med, at oprette bruger...");
}
}
}
}
我的登錄系統工作正常,但我有麻煩關於如何讓我的用戶註冊工作。 我想創建一個獨立的類,並使用該bean來處理用戶註冊,而不必重新連接到數據庫等。這是重用代碼並節省時間。
我該如何做到這一點?
Java不是縮寫 –
代碼中有太多錯誤,我不知道從哪裏開始回答。所以這裏只是一個開始的鏈接,直接獲取基本概念:http://stackoverflow.com/tags/jsp/info。它包含了很多有用的鏈接(每個鏈接也包含很多有用的鏈接)。 – BalusC