猿教程 Logo

Struts2实例:注册

在这个例子中,我们将使用struts UI标签创建一个注册表单,并将这些信息存储在oracle数据库中。 您可以根据您的要求使用其他数据库,如mysql,DB2等。

我们首先看看我们需要在oracle数据库中创建的表。

CREATE TABLE  "STRUTSUSER" 
   (	"NAME" VARCHAR2(4000), 
	"PASSWORD" VARCHAR2(4000), 
	"EMAIL" VARCHAR2(4000), 
	"GENDER" VARCHAR2(4000), 
	"COUNTRY" VARCHAR2(4000)
   )
/

最好为每个用户创建一个ID。 简单地说,我们没有分配任何启用主键的id。 但你可以做到

在struts2中创建注册应用程序的步骤如下:

  1. 创建输入页面(index.jsp)

  2. 创建动作类(RegisterAction.java)

  3. 创建存储数据的类(RegisterDao.java)

  4. 将请求映射到(struts.xml)文件中并定义视图组件

  5. 创建视图组件


1)创建输入页面(index.jsp)

这是一个简单的jsp页面,它使用struts 2 UI标签来创建一个表单以从用户处获取输入。

index.jsp

<%@ taglib uri="/struts-tags" prefix="s" %>

<s:form action="register">
<s:textfield name="name" label="UserName"></s:textfield>
<s:password name="password" label="Password"></s:password>
<s:textfield name="email" label="Email"></s:textfield>
<s:radio list="{'male','female'}" name="gender"></s:radio>
<s:select cssStyle="width:155px;"list="{'india','pakistan','other',}"
name="country" label="Country"></s:select>

<s:submit value="register"></s:submit>

</s:form>

2)创建动作类(RegisterAction.java)

此Action类有五个字段和一个执行方法。 我们知道,struts框架每个请求创建一个action类的实例,我们在RegisterDao类的保存方法中传递这个对象。

RegisterAction.java

package com.javatpoint;

public class RegisterAction {
private String name,password,email,gender,country;

//setters and getters
public String execute(){
	int i=RegisterDao.save(this);
	if(i>0){
	return "success";
	}
	return "error";
}
}

3)创建存储数据的类(RegisterDao.java)

该类从RegisterAction类的对象获取信息,并将这些信息存储在strutsuser表中。

RegisterDao.java

package com.javatpoint;
import java.sql.*;
public class RegisterDao {

public static int save(RegisterAction r){
int status=0;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe","system","oracle");

PreparedStatement ps=con.prepareStatement("insert into strutsuser values(?,?,?,?,?)");
ps.setString(1,r.getName());
ps.setString(2,r.getPassword());
ps.setString(3,r.getEmail());
ps.setString(4,r.getGender());
ps.setString(5,r.getCountry());
		
status=ps.executeUpdate();

}catch(Exception e){e.printStackTrace();}
	return status;
}
}

4)将请求映射到(struts.xml)文件中并定义视图组件

此xml文件包含有关包,操作类和视图组件的信息。

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD
Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

<package name="default" extends="struts-default">

<action name="register" class="com.javatpoint.RegisterAction">
<result name="success">register-success.jsp</result>
<result name="error">register-error.jsp</result>
</action>

</package>
</struts>

5)创建视图组件

在这里,我们创建了两个视图组件register-success.jsp和register-error.jsp。

register-success.jsp

<%@ taglib uri="/struts-tags" prefix="s" %>
Welcome, <s:property value="name"></s:property>

register-error.jsp

<%@ taglib uri="/struts-tags" prefix="s" %>
Sorry, some error occured!
<s:include value="index.jsp"></s:include>


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