📜  Struts 2注册表格示例

📅  最后修改于: 2021-01-11 06:38:32             🧑  作者: Mango

Struts 2注册表格示例

在此示例中,我们将使用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中创建注册应用程序的步骤如下:

  • 创建输入页面(index.jsp)
  • 创建动作类(RegisterAction.java)
  • 创建用于存储数据的类(RegisterDao.java)
  • 将请求映射到(struts.xml)文件中并定义视图组件
  • 创建视图组件

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

这是简单的jsp页面,它使用struts 2 UI标记创建表单以获取用户输入。

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











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

该Action类具有五个字段和一个execute方法。众所周知,struts框架会为每个请求创建操作类的实例,我们在RegisterDao类的save方法中传递了此对象。

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表中。

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文件包含有关程序包,操作类和视图组件的信息。








register-success.jsp
register-error.jsp



    

5)创建视图组件

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

<%@ taglib uri="/struts-tags" prefix="s" %>
Welcome, 
<%@ taglib uri="/struts-tags" prefix="s" %>
Sorry, some error occured!