猿教程 Logo

使用JSP开发注册用户功能

要创建注册表单,您必须在数据库中有一个表。 您可以将数据库逻辑写入JSP文件,但将它与JSP页面分开是更好的方法。 这里,我们将使用DAO,工厂方法,DTO和Singletion设计模式。 有很多文件:

  • index.jsp从用户获取值

  • User.java,一个具有属性和setter和getter方法的bean类。

  • process.jsp,一个处理请求并调用方法的jsp文件

  • Provider.java,一个包含许多常量的接口,如DRIVER_CLASS,CONNECTION_URL,USERNAME和PASSWORD

  • ConnectionProvider.java,一个返回Connection对象的类。 它使用Singleton和工厂方法设计模式。

  • RegisterDao.java,一个负责获取数据库访问权限的DAO类


JSP中的注册示例

在这个例子中,我们使用Oracle10g数据库来连接数据库。 让我们先在Oracle数据库中创建表:

CREATE TABLE  "USER432" 
   (	"NAME" VARCHAR2(4000), 
	"EMAIL" VARCHAR2(4000), 
	"PASS" VARCHAR2(4000)
   )
/

我们在这里创建了名为user432的表。

index.jsp

我们在这里只有三个字段,以使概念清晰并简化应用程序的流程。 你可以根据您的要求包含其他字段。

<form action="process.jsp">
<input type="text" name="uname" value="Name..." onclick="this.value=''"/><br/>
<input type="text" name="uemail"  value="Email ID..." onclick="this.value=''"/><br/>
<input type="password" name="upass"  value="Password..." onclick="this.value=''"/><br/>
<input type="submit" value="register"/>
</form>

process.jsp

这个jsp文件包含bean类的对象的所有传入值,它作为RegisterDao类的register方法中的参数传递。

<%@page import="bean.RegisterDao"%>
<jsp:useBean id="obj" class="bean.User"/>

<jsp:setProperty property="*" name="obj"/>

<%
int status=RegisterDao.register(obj);
if(status>0)
out.print("You are successfully registered");

%>

User.java

它是具有3个属性uname,uemail和upass的bean类,它的setter和getter方法。

package bean;

public class User {
private String uname,upass,uemail;

public String getUname() {
	return uname;
}

public void setUname(String uname) {
	this.uname = uname;
}

public String getUpass() {
	return upass;
}

public void setUpass(String upass) {
	this.upass = upass;
}

public String getUemail() {
	return uemail;
}

public void setUemail(String uemail) {
	this.uemail = uemail;
}

}

Provider.java

此接口包含四个常量,可以从数据库到数据库不同。

package bean;

public interface Provider {
String DRIVER="oracle.jdbc.driver.OracleDriver";
String CONNECTION_URL="jdbc:oracle:thin:@localhost:1521:xe";
String USERNAME="system";
String PASSWORD="oracle";

}

ConnectionProvider.java

这个类负责返回Connection的对象。 这里,驱动程序类只加载一次,连接对象只获取内存一次。

package bean;
import java.sql.*;
import static bean.Provider.*;

public class ConnectionProvider {
private static Connection con=null;
static{
try{
Class.forName(DRIVER);
con=DriverManager.getConnection(CONNECTION_URL,USERNAME,PASSWORD);
}catch(Exception e){}
}

public static Connection getCon(){
	return con;
}

}

RegisterDao.java

此类将bean组件的值插入到数据库中。

package bean;

import java.sql.*;

public class RegisterDao {

public static int register(User u){
int status=0;
try{
Connection con=ConnectionProvider.getCon();
PreparedStatement ps=con.prepareStatement("insert into user432 values(?,?,?)");
ps.setString(1,u.getUname());
ps.setString(2,u.getUemail());
ps.setString(3,u.getUpass());
			
status=ps.executeUpdate();
}catch(Exception e){}
	
return status;
}

}


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Jsp/registration-form-in-jsp.html