建議使用html+servlet或者jsp+servlet 通過ajax將數據提交到後台servlet校驗 可實現無刷新提交。
B. 基於JSP開發:如何創建及修改資料庫表
SQL語言才是直接處理資料庫的語言在目前常用的關系資料庫中,都支持SQL語言的操作。
創建、修改、刪除資料庫表
創建資料庫表可以用CREATE
TABLE指令,這個指令的使用語法如下:
CREATE
TABLE
表名
{
列名1
數據類型
[DEFAULT(默認值)]
[NOT
NULL]
[UNIQUE],
列名2
數據類型
[DEFAULT(默認值)]
[NOT
NULL]
[UNIQUE]
...
[PRIMARY
KEY(列名)]
[FOREIGN
KEY(列名)
REFRENCES(列名)]
}
其中,創建的資料庫表中可以有多個列定義,但是主鍵PRIMARY
KEY只有一個,外鍵FOREIGN
KEY可以有多個。
在列定義中,DEFAULT是默認值,NOT
NULL定義列不可以為空,UNIQUE定義列的值唯一,即每一行的記錄中列的值不能相同。在主鍵的定義中,可以從上面定義的列中選取一列作為主鍵。在外鍵的定義中,列名是上面定義的列,這個列對應的是另一個資料庫表中的主鍵,用來表述資料庫表之間的引用關系。
C. 用jsp編寫了一個注冊頁面 有用戶名和密碼 怎樣根據注冊的信息自動創建資料庫 不是自己建表拿到 別的計算機
你只用JSP,不用servlet。用JDBC么,連接到資料庫,執行SQL語句,創建表,插入數據。
D. 用JSP做一個注冊和登陸界面,做好後其中的資料庫怎麼設計`
估計主要問題是沒有連接上資料庫。按照下面的方法試試
運行環境:winXP+sql server 2k+jdbc驅動+ sql server sp4
需要安裝sp4,
裝載驅動程序
裝載驅動程序只需要非常簡單的一行代碼。
JDBC直連sql server:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
載入 Driver 類後,它們即可用來與資料庫建立連接。
二、建立連接
第二步就是用適當的驅動程序類與 DBMS 建立一個連接。下列代碼是一般的做法:
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");
例:
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=data_2008";
Connection con = DriverManager.getConnection(url, "sa", "sa");
這個步驟也非常簡單,最難的是怎麼提供 url。不同的資料庫方法是不同的。
三、創建 JDBC Statements 對象
Statement 對象用於把 SQL 語句發送到 DBMS 。你只須簡單地創建一個 Statement 對象並且執行它,使用適當的方法執行你發送的 SQL 語句。對 SELECT 語句來說,可以使用 executeQuery。要創建或修改表的語句,使用的方法是 executeUpdate。
需要一個活躍的連接的來創建 Statement 對象的實例。下面使用 Connection 對象 con 創建 Statement 對象 stmt:
Statement stmt = con.createStatement();
到此 stmt 已經存在了,但它還沒有把 SQL 語句傳遞到 DBMS。我們需要提供 SQL 語句作為參數提供給我們使用的 Statement 的方法。例如,在下面的代碼段里,我們從表userlist中讀取所有記錄給ResultSet:
String sql="select * from userlist";
ResultSet rs = stmt.executeQuery(sql);//資料庫中表的名字為userlist
四、利用ResultSet中的一些方法顯示資料庫中的數據。
while(rs.next()){
//循環體
}
五、釋放
rs.close();
stmt.close();
con.close();
六、完整代碼
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=data_2007";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from userlist";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個欄位內容為:<%=rs.getString(1)%> <br>
您的第二個欄位內容為:<%=rs.getString(2)%> <br>
您的第三個欄位內容為:<%=rs.getString(3)%> <br>
<%}%>
<%out.print("資料庫操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
將上面代碼另存為.jsp,注意修改資料庫名,用戶名和密碼,即可測試sql server是否安裝成功。
E. jsp做登錄,注冊頁面 資料庫
jsp登錄注冊頁面都需要查詢和插入資料庫的,還要檢查注冊信息存不存在。
完整例子如下:
用戶信息的bean:
package chen;
public class UserBean
{
private String userid;
private String password;
public void setUserId(String userid)
{
this.userid=userid;
}
public void setPassword(String password)
{
this.password=password;
}
public String getUserId()
{
return this.userid;
}
public String getPassword()
{
return this.password;
}
}
提交資料庫的bean:
package chen;
import com.mysql.jdbc.Driver;
import java.sql.*;
public class UserRegister
{
private UserBean userBean;
private Connection con;
//獲得資料庫連接。
public UserRegister()
{
String url="jdbc:mysql://localhost/"+"chao"+"?user="+"root"+"&password="+"850629";
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url);
}
catch(Exception e)
{
e.printStackTrace();
}
}
//設置待注冊的用戶信息。
public void setUserBean(UserBean userBean)
{
this.userBean=userBean;
}
//進行注冊
public void regist() throws Exception
{
String reg="insert into userinfo(userid,password) values(?,?)";
try
{
PreparedStatement pstmt=con.prepareStatement(reg);
pstmt.setString(1,userBean.getUserId());
pstmt.setString(2,userBean.getPassword());
pstmt.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
}
提交注冊數據進入資料庫:
<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312"
import="chen.*" %>
<jsp:useBean id="userBean" class="chen.UserBean" scope="request">
<jsp:setProperty name="userBean" property="*"/>
</jsp:useBean>
<jsp:useBean id="regist" class="chen.UserRegister" scope="request"/>
<html>
<head>
<title> 用戶信息注冊頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
String userid =request.getParameter("userid");
String password = request.getParameter("password");
userBean.setUserId(userid);
userBean.setPassword(password);
System.out.println(userid+password);
%>
<% try{
regist.setUserBean(userBean);
out.println(userid);
regist.regist();
out.println("注冊成功");}
catch(Exception e){
out.println(e.getMessage());
}
%>
<br>
<a href="login.jsp">返回</a>
</body>
</html>
登陸驗證頁面:
<%@page import="java.sql.*" contentType="text/html;charset=GB2312" %>
<%@page import="java.util.*"%>
<%
String userid1=new String(request.getParameter("userid"));
String password1=new String(request.getParameter("password"));
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/chao","root","850629");
Statement stmt=con.createStatement();
String sql="select * from userinfo where userid='"+userid1+"';";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{String password=new String(rs.getString("password"));
if(password.equals(password1))
{session.setAttribute("userid1",userid1);
response.sendRedirect("sucess.jsp");
}
else
{response.sendRedirect("login.jsp");
}
}
else
{response.sendRedirect("login.jsp");
}
%>
登陸頁面:
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<body>
<form method="get" action="checklogin.jsp">
<table>
<tr><td> 輸入用戶名:</td>
<td><input type=text name=userid ></td>
</tr>
<tr><td>輸入密碼:</td>
<td><input type=password name=password></td>
</tr>
<tr><td><input type=submit value=確認>
</td></tr>
</table>
</form>
<form action="register.jsp">
<input type=submit value=注冊>
</form>
</body>
</html>
注冊頁面:
<%@page contentType="text/html; charset=gb2312" language="java" import="java.util.*,java.io.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<center>
<h1>注冊新用戶</h1>
<form action="adser.jsp" method=post>
<table border="1" bgcolor="#0099CC">
<tr>
<td> 用戶名:
<input type="text" name="userid">
</td>
</tr>
<tr valign="middle">
<td> 密碼:
<input type="password" name="password" readonly>
</td>
</tr>
<tr>
<td>
<input type=submit value=提交>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
登陸成功頁面:
<%@page import="java.util.*" contentType="text/html; charset=gb2312" %>
<%@include file="trans.jsp"%>
<html>
<head>
<title>
sucess
</title>
</head>
<body bgcolor="#ffffff">
<h1>
登錄成功,歡迎您!
</h1><%=trans(session.getAttribute("userid1"))%>
</body>
</html>