【struts2】用户注册系统

最近写了一个用户注册系统,大部分已经写完,但是还有一些边角料没写,但是也都是大同小异,我就不再写了,赶着去学习hibernate了,spring还没接触呢!!!时间好紧迫啊!!!

jsp界面

users的jsp界面

admin的jsp界面

struts.xml配置文件

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

<struts>
	<!--<constant name="struts.i18n.encoding" value="GBK" />  指定字符编码
	-->
<!-- 分——————————————————————————————————————割——————————————————————————————————————线  -->
	<package name="users" extends="struts-default" ><!-- 不收权限控制的Action配置 -->
		<action name="register" class="com.huizhi.users.action.RegisterAction" method="register">
			<!-- 用户注册Action -->
			<result name="success">/regsucc.jsp</result>
			<result name="input">/register.jsp</result>
		</action>

		<!-- ****************************************-->

		<action name="login" class="com.huizhi.users.action.LoginAction" method="login">
			<!-- 用户注册Action -->
			<result name="success">/main.jsp</result>
			<result name="input">/index.jsp</result>
		</action>

		<!-- ****************************************-->

		<action name="adminLogin" class="com.huizhi.admin.action.AdminLoginAction" method="adminLogin" >
			<result name="success">/admin/main.jsp</result>
			<result name="input">/admin/input.jsp</result>
		</action>

	</package>
<!-- 分——————————————————————————————————————割——————————————————————————————————————线  -->
	<package name="users-authority" extends="struts-default"><!-- 收权限控制的Action配置 -->
		<!-- 定义拦截器 -->
		<interceptors>
			<interceptor name="authority" class="com.huizhi.util.AuthorityInterceptor" />
			<interceptor-stack name="mydefault">
				<interceptor-ref name="defaultStack" />
				<interceptor-ref name="authority"></interceptor-ref>
			</interceptor-stack>
		</interceptors>

		<!-- 定义默认拦截器 -->
		<default-interceptor-ref name="mydefault" />

		<!-- 定义全局result -->
		<global-results>
			<result name="error">/error.jsp</result>
			<result name="login" type="redirect">index.jsp</result>
		</global-results>

		<!-- ****************************************-->
		<!-- 查看所有用户 -->
		<action name="findalluser" class="com.huizhi.users.action.FindAllUsersAction" method="findAllUsers">
			<result name="input">/admin/allusers.jsp</result>
			<result name="success">/allusers.jsp</result>
		</action>

		<!-- ****************************************-->
		<!-- 查看用户个人的信息 -->
		<action name="selectinfo" class="com.huizhi.users.action.SelectInfoAction" method="selectInfo">
			<result name="input"></result>
			<result name="success">/selectinfo.jsp</result>
			<result name="find"></result>
		</action>

		<!-- ****************************************-->
		<!-- 修改用户个人的信息 -->
		<action name="update" class="com.huizhi.users.action.UpdateAction" method="update">
			<result name="success">/updatesucc.jsp</result>
			<result name="input">/selectinfo.jsp</result>
		</action>

		<!-- ****************************************-->
		<!-- 查看所有管理员信息 -->
		<action name="findalladmin" class="com.huizhi.admin.action.FindAllAdminAction" method="findAllAdmin">
			<result name="success">/admin/alladmin.jsp</result>
		</action>

		<!-- ****************************************-->
		<!-- 删除管理员信息 -->
		<action name="deleteAdmin" class="com.huizhi.admin.action.DeleteAdminAction" method="deleteAdmin">
			<result name="success">/admin/succ.jsp</result>
			<result name="error">/error.jsp</result>
		</action>

	</package>
<!-- 分——————————————————————————————————————割——————————————————————————————————————线  -->
</struts>

sql文件

create database reg;

create table `reg`.`users` (
    `id` int not null,
    `username` varchar(20) not null,
    `password` varchar(20) not null,
    `name` varchar(20) not null,
    `nic` varchar(30) not null,
    `sex` char(2) not null,
    `age` int null,
    `email` varchar(30) null,
    `phone` varchar(20) null,
    `selfshow` varchar(300) null,
    primary key (`id`)
);

create table `reg`.`admin` (
    `id` int,
    `username` varchar(20) not null,
    `password` varchar(20) not null,
    `name` varchar(20) not null,
    `qx` int not null,
    primary key (`id`)
);

select *
from users;

ALTER TABLE `reg`.`users`
CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT ;

insert into `users`
(`username`, `password`, `name`, `nic`, `sex`, `age`, `email`, `phone`, `selfshow`)
VALUES
 ('e', 'er', 'qw', 'we', 'w', '1', 'we', 'r', 'www');

use reg;

select *
from `reg`.`users`
where username = "xiaofeng";

update users
set
password="998",
name="xiaoming",
nic="xiaoxiao",
sex="妖",
age=998,
email="[email protected]",
phone="120110198",
selfshow="嘚!妖怪!!!哪里跑,交出命来~~~~"
where username="e" and id="5";

--#关于管理员那个表的SQL语句
INSERT INTO `reg`.`admin` (`id`, `username`, `password`, `name`, `qx`)
VALUES (NULL, 'xiaofeng', 'xiaofeng', 'xiaofeng', '998');

--#把id设置为自动增长
ALTER TABLE `reg`.`admin`
change column id
id int(11) not null auto_increment;

select *
from admin
where username="xiaofeng" and password="xiaofeng";

select *
from admin;

INSERT INTO `reg`.`admin` (`username`, `password`, `name`, `qx`)
VALUES ('xujuan', 'xujuan', 'xujuan', '2');

INSERT INTO `reg`.`admin` (`username`, `password`, `name`, `qx`)
VALUES ('yanyan', 'yanyan', 'yanyan', '2');

insert into admin (`username`, `password`, `name`, `qx`)
values ('X', 'X', 'X先生', '1');

insert into admin (`username`, `password`, `name`, `qx`)
values ('y', 'y', 'y先生', '1');

insert into admin (`username`, `password`, `name`, `qx`)
values ('z', 'z', 'z先生', '1');

delete
from admin
where id=7;

action包

usersaction

adminaction

dao包

usersdao

/**
* 书本:【struts2】+【hibernate】+【Spring】整合开发技术详解
* 功能:用户注册系统
* 文件:DatabaseDAO.java
* 时间:2014年11月11日21:36:01
* 作者:cutter_point
*/
package com.huizhi.users.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.huizhi.database.DatabaseDAO;
import com.huizhi.vo.Users;

public class UsersDAO
{
	private Connection con;	//定义连接对象
	private PreparedStatement pt;	//定义预处理对象
	private ResultSet rs;	//定义结果集对象

	//更新数据的方法
	public int update(Users users)
	{
		int i = 0;
		con = DatabaseDAO.getConnection();	//获得连接对象
		String sql = "update users set password=?, name=?, nic=?, sex=?, age=?, email=?, phone=?, "+
					"selfshow=? where username=? and id=?;";

		try
		{
			//得到预处理对象
			pt = con.prepareStatement(sql);
			pt.setString(1, users.getPassword());
			pt.setString(2, users.getName());
			pt.setString(3, users.getNic());
			pt.setString(4, users.getSex());
			pt.setInt(5, users.getAge());
			pt.setString(6, users.getEmail());
			pt.setString(7, users.getPhone());
			pt.setString(8, users.getSelfshow());
			pt.setString(9, users.getUsername());
			pt.setInt(10, users.getId());
			//执行数据更新

			i = pt.executeUpdate();			

		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		finally
		{
			//关闭所有资源
			DatabaseDAO.closeRs(rs);	//关闭相应的资源
			DatabaseDAO.closePt(pt);	//关闭PreparedStatement
			DatabaseDAO.closeCon(con);	//关闭数据库连接
		}

		//返回取得的数据
		return i;

	}

	//查找个人信息的方法
	public Users selectInfo(String username)
	{
		Users users = new Users();//存放从数据库取得的数据
		con = DatabaseDAO.getConnection();	//取得数据库连接

		//根据用户名取得数据
		String sql = "select * from users where username = ? ";

		try
		{
			//得到预处理对象
			pt = con.prepareStatement(sql);
			pt.setString(1, username);
			//System.out.println("--------------------------"+username);
			//执行SQL语句得到结果
			rs = pt.executeQuery();

			//取得第一行数据
			if(rs.next())
			{
				users.setId(rs.getInt(1));
				users.setUsername(rs.getString(2));
				users.setPassword(rs.getString(3));
				users.setName(rs.getString(4));
				users.setNic(rs.getString(5));
				users.setSex(rs.getString(6));
				users.setAge(rs.getInt(7));
				users.setEmail(rs.getString(8));
				users.setPhone(rs.getString(9));
				users.setSelfshow(rs.getString(10));

			}

		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		finally
		{
			//关闭所有资源
			DatabaseDAO.closeRs(rs);	//关闭相应的资源
			DatabaseDAO.closePt(pt);	//关闭PreparedStatement
			DatabaseDAO.closeCon(con);	//关闭数据库连接
		}

		//返回取得的数据
		return users;

	}

	//查找到所有的用户
	public List findAllUsers()
	{
		List<Users> list = new ArrayList<Users>();	//用一个list对象来添加所有的对象
		//连接数据库
		con = DatabaseDAO.getConnection();

		try
		{
			String sql = "select * from users";	//为了获得所有的对象
			pt = con.prepareStatement(sql);	//预处理
			rs = pt.executeQuery();	//获得结果集

			while(rs.next())//取得结果
			{
				Users users = new Users();	//这个得放到这里,不然每次放到list的都是同一个对象

				users.setId(rs.getInt(1));	//得到第一个参数信息
				users.setUsername(rs.getString(2));
				users.setPassword(rs.getString(3));
				users.setName(rs.getString(4));
				users.setNic(rs.getString(5));
				users.setSex(rs.getString(6));
				users.setAge(rs.getInt(7));
				users.setEmail(rs.getString(8));
				users.setPhone(rs.getString(9));
				users.setSelfshow(rs.getString(10));
				list.add(users);
			}

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			//关闭所有资源
			DatabaseDAO.closeRs(rs);	//关闭相应的资源
			DatabaseDAO.closePt(pt);	//关闭PreparedStatement
			DatabaseDAO.closeCon(con);	//关闭数据库连接
		}

		return list;
	}

	//验证登录的代码
	public boolean login(Users users)
	{
		//设置标准符为flag
		boolean flag=false;
		//建立数据库连接
		con = DatabaseDAO.getConnection();

		try
		{
			String sql = "select * from users where username = ? and password = ?";
			pt = con.prepareStatement(sql);

			pt.setString(1, users.getUsername());
			pt.setString(2, users.getPassword());

			rs = pt.executeQuery();	//得到结果集

			if(rs.next())	//如果验证成功,那么就设置为true
			{
				flag = true;
			}

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			//关闭所有资源
			DatabaseDAO.closeRs(rs);	//关闭相应的资源
			DatabaseDAO.closePt(pt);	//关闭PreparedStatement
			DatabaseDAO.closeCon(con);	//关闭数据库连接
		}

		return flag;
	}

	//保存一个用户
	public int save(Users users)
	{
		int i = 0;
		con = DatabaseDAO.getConnection();	//得到连接
		try
		{
			String sql = "insert into `users` (`username`, `password`, `name`, `nic`, `sex`, `age`, `email`, `phone`, `selfshow`) "+
						"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);";
			pt = con.prepareStatement(sql);

			pt.setString(1, users.getUsername());
			pt.setString(2, users.getPassword());
			pt.setString(3, users.getName());
			pt.setString(4, users.getNic());
			pt.setString(5, users.getSex());
			System.out.println(users.getSex()+"  ----------------------");
			pt.setInt(6, users.getAge());
			pt.setString(7, users.getEmail());
			pt.setString(8, users.getPhone());
			pt.setString(9, users.getSelfshow());

			i = pt.executeUpdate();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			//关闭所有资源
			DatabaseDAO.closeRs(rs);	//关闭相应的资源
			DatabaseDAO.closePt(pt);	//关闭PreparedStatement
			DatabaseDAO.closeCon(con);	//关闭数据库连接
		}

		return i;
	}

	//查找用户是否存在
	public boolean findUsers(String username)
	{
		//定义Boolean类型标识符flag
		boolean flag=false;
		//取得连接
		con=DatabaseDAO.getConnection();
		try
		{
			pt = con.prepareStatement("select * from users where username = ?");
			pt.setString(1, username);	//为参数赋值
			rs = pt.executeQuery();	//执行查询得到结果

			//如果继续可以得到数据说明数据存在
			if(rs.next())
			{
				flag=true;
			}

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			//关闭所有资源
			DatabaseDAO.closeRs(rs);	//关闭相应的资源
			DatabaseDAO.closePt(pt);	//关闭PreparedStatement
			DatabaseDAO.closeCon(con);	//关闭数据库连接
		}

		return flag;	//返回标识,true说明是用户已经存在

	}
}
/**
* 书本:【struts2】+【hibernate】+【Spring】整合开发技术详解
* 功能:管理员对数据库的操作
* 文件:AdminDAO.java
* 时间:2014年11月19日21:41:23
* 作者:cutter_point
*/
package com.huizhi.admin.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.ArrayList;

import com.huizhi.database.DatabaseDAO;
import com.huizhi.vo.Admin;

public class AdminDAO
{
	private Connection con;	//定义连接对象
	private PreparedStatement pt;	//定义预处理对象
	private ResultSet rs;	//定义结果集对象

	//更具id删除管理员
	public boolean deleteAdminById(int id)
	{
		con = DatabaseDAO.getConnection();	//取得连接
		boolean flag = false;

		String sql = "delete from admin where id=?";

		try
		{
			//预处理
			pt = con.prepareStatement(sql);
			pt.setInt(1, id);

			int i = pt.executeUpdate();	//删除返回删除的个数

			if(i > 0)
				flag = true;

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			this.close();
		}

		return flag;
	}

	//取出所有的管理员
	public List findAllAdmin()
	{
		List<Admin> list = new ArrayList<Admin>();	//用一个list对象来添加所有的对象
		//连接数据库
		con = DatabaseDAO.getConnection();

		try
		{
			String sql = "select * from admin";	//为了获得所有的对象
			pt = con.prepareStatement(sql);	//预处理
			rs = pt.executeQuery();	//获得结果集

			while(rs.next())//取得结果
			{
				Admin admin = new Admin();	//这个得放到这里,不然每次放到list的都是同一个对象

				admin.setId(rs.getInt(1));
				admin.setUsername(rs.getString(2));
				admin.setPassword(rs.getString(3));
				admin.setName(rs.getString(4));
				admin.setQx(rs.getInt(5));

				list.add(admin);
			}

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			this.close();
		}

		return list;
	}

	//验证管理员登录
	public boolean login(Admin admin)
	{
		boolean flag = false;
		con = DatabaseDAO.getConnection();	//取得连接
		String sql = "select * from admin where username=? and password=?;";

		try
		{
			pt = con.prepareStatement(sql);
			pt.setString(1, admin.getUsername());
			pt.setString(2, admin.getPassword());

			rs = pt.executeQuery();	//执行命令

			if(rs.next())
			{
				flag = true;
				admin.setQx(rs.getInt("qx"));
			}

		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		finally
		{
			this.close();
		}

		return flag;
	}

	public void close()	//关闭连接
	{
		//关闭所有资源
		DatabaseDAO.closeRs(rs);	//关闭相应的资源
		DatabaseDAO.closePt(pt);	//关闭PreparedStatement
		DatabaseDAO.closeCon(con);	//关闭数据库连接
	}

}

admindao

/**
* 书本:【struts2】+【hibernate】+【Spring】整合开发技术详解
* 功能:管理员对数据库的操作
* 文件:AdminDAO.java
* 时间:2014年11月19日21:41:23
* 作者:cutter_point
*/
package com.huizhi.admin.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.ArrayList;

import com.huizhi.database.DatabaseDAO;
import com.huizhi.vo.Admin;

public class AdminDAO
{
	private Connection con;	//定义连接对象
	private PreparedStatement pt;	//定义预处理对象
	private ResultSet rs;	//定义结果集对象

	//更具id删除管理员
	public boolean deleteAdminById(int id)
	{
		con = DatabaseDAO.getConnection();	//取得连接
		boolean flag = false;

		String sql = "delete from admin where id=?";

		try
		{
			//预处理
			pt = con.prepareStatement(sql);
			pt.setInt(1, id);

			int i = pt.executeUpdate();	//删除返回删除的个数

			if(i > 0)
				flag = true;

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			this.close();
		}

		return flag;
	}

	//取出所有的管理员
	public List findAllAdmin()
	{
		List<Admin> list = new ArrayList<Admin>();	//用一个list对象来添加所有的对象
		//连接数据库
		con = DatabaseDAO.getConnection();

		try
		{
			String sql = "select * from admin";	//为了获得所有的对象
			pt = con.prepareStatement(sql);	//预处理
			rs = pt.executeQuery();	//获得结果集

			while(rs.next())//取得结果
			{
				Admin admin = new Admin();	//这个得放到这里,不然每次放到list的都是同一个对象

				admin.setId(rs.getInt(1));
				admin.setUsername(rs.getString(2));
				admin.setPassword(rs.getString(3));
				admin.setName(rs.getString(4));
				admin.setQx(rs.getInt(5));

				list.add(admin);
			}

		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			this.close();
		}

		return list;
	}

	//验证管理员登录
	public boolean login(Admin admin)
	{
		boolean flag = false;
		con = DatabaseDAO.getConnection();	//取得连接
		String sql = "select * from admin where username=? and password=?;";

		try
		{
			pt = con.prepareStatement(sql);
			pt.setString(1, admin.getUsername());
			pt.setString(2, admin.getPassword());

			rs = pt.executeQuery();	//执行命令

			if(rs.next())
			{
				flag = true;
				admin.setQx(rs.getInt("qx"));
			}

		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		finally
		{
			this.close();
		}

		return flag;
	}

	public void close()	//关闭连接
	{
		//关闭所有资源
		DatabaseDAO.closeRs(rs);	//关闭相应的资源
		DatabaseDAO.closePt(pt);	//关闭PreparedStatement
		DatabaseDAO.closeCon(con);	//关闭数据库连接
	}

}

database包

/**
* 书本:【struts2】+【hibernate】+【Spring】整合开发技术详解
* 功能:用户注册系统
* 文件:DatabaseDAO.java
* 时间:2014年10月22日16:33:46
* 作者:cutter_point
*/
package com.huizhi.database;

import java.sql.Connection;
//import java.sql.*;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import java.sql.ResultSet;

public class DatabaseDAO 	//数据库连接类
{
	private static Connection con;	//连接对象Connection
	private static final String DRIVER="com.mysql.jdbc.Driver";	//数据库驱动
	private static final String URL="jdbc:mysql://localhost/reg";	//数据库的名字是reg
	private static final String NAME="root";	//连接MySQL的用户名
	private static final String PASSWORD="xiaofeng2014";		//连接的密码

	//这是一个单例模式,加载一次即可获得驱动
	static
	{
		try
		{
			Class.forName(DRIVER);	//加载驱动
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}

	public static Connection getConnection()	//获取数据库连接
	{
		try
		{
			con=DriverManager.getConnection(URL, NAME, PASSWORD);

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

		return con;
	}

	//关闭连接
	public static void closeCon(Connection con)
	{
		try
		{
			if(con != null)
				con.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}

	//关闭PreparedStatement
	public static void closePt(PreparedStatement pt)
	{
		try
		{
			if(pt != null)
				pt.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}

	//关闭ResultSet
	public static void closeRs(ResultSet rs)
	{
		try
		{
			if(rs != null)
				rs.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}

util包

/**
* 书本:【struts2】+【hibernate】+【Spring】整合开发技术详解
* 功能:用户注册系统,这个是写的一个拦截器
* 文件:AuthorityInterceptor.java
* 时间:2014年10月22日16:33:46
* 作者:cutter_point
*/
package com.huizhi.util;

import java.util.Map;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class AuthorityInterceptor extends AbstractInterceptor
{

	public String intercept(ActionInvocation invocation) throws Exception //拦截Action处理的拦截方法
	{
		ActionContext ctx = invocation.getInvocationContext();	//取得ActionContext实例

		Map session = ctx.getSession();	//得到session对象
		String username = (String)session.get("username");

		if(username != null)
		{
			//表示用户已经登录
			System.out.println("拦截通过");
			return invocation.invoke();		//继续执行
		}

		System.out.println("登录拦截");
		ctx.put("tip", "请先登录!!!");
		return Action.LOGIN;

	}

}

vo包

admin

package com.huizhi.vo;

public class Admin
{
	private int id;
	private String username;
	private String password;
	private String name;
	private int qx;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getQx() {
		return qx;
	}
	public void setQx(int qx) {
		this.qx = qx;
	}
}

users

package com.huizhi.vo;

public class Users
{
	private int	   age;
	private String email;
	private int	   id;
	private String name;
	private String nic;
	private String password;
	private String phone;
	private String selfshow;
	private String sex;
	private String username;
	public int getAge() {
		return age;
	}
	public String getEmail() {
		return email;
	}
	public int getId() {
		return id;
	}
	public String getName() {
		return name;
	}
	public String getNic() {
		return nic;
	}
	public String getPassword() {
		return password;
	}
	public String getPhone() {
		return phone;
	}
	public String getSelfshow() {
		return selfshow;
	}
	public String getSex() {
		return sex;
	}
	public String getUsername() {
		return username;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public void setId(int id) {
		this.id = id;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setNic(String nic) {
		this.nic = nic;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public void setSelfshow(String selfshow) {
		this.selfshow = selfshow;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public void setUsername(String username) {
		this.username = username;
	}

}

断断续续,最终还是给写完了,真是蛋疼,这个课设马上要来了,得抓紧时间了!!!!fightting!!!

项目已经上传:http://download.csdn.net/detail/cutter_point/8181327

这里还有一个struts2的BBS论坛项目有兴趣可以看一下:http://download.csdn.net/detail/cutter_point/8142957

时间: 2024-08-11 06:35:09

【struts2】用户注册系统的相关文章

struts2知识系统整理

1.MVC 和 JSP Model 2 **   a.:M-Model 模型 包含两部分:业务数据和业务处理逻辑  b.V-View 视图:视图(View)的职责是负责显示界面和用户交互(收集用户信息).  c.C-Controller 控制器 项目中写的ActionServlet.--------------------------------------------------2.我们写的模式被我们称为JSP Model1,在其中我们有模型层(M),但是视图层(V)的  JSP中包含了业务逻

【struts2】Struts2的系统架构

Struts2的官方文档里附带了Struts2的架构图,下面这张图上展示了Struts2的内部模块,以及它们的运行流程. 这张图上分了好多块,彼此之间相互联系,先浏览一下各块的名字,再留心一下运行图最下面的图例,分为四种颜色. 橙色是Servlet Filters,过滤器链,所有的请求都要经过Filter链的处理. 浅蓝色是Struts Core,Struts2的核心部分,Struts2中已经做好的功能,在实际开发中不需要动它们. 浅绿色是Interceptors,Struts2的拦截器.Str

Struts2系统运行流程(2)

在上一篇中已经说过了Struts2的系统的基本原理(http://blog.csdn.net/xlgen157387/article/details/45840719),下边说一下Struts2的运行流程: 举个简单的案例,就是一个helloworld的案例,下边对其进行进行详细的解释. 案例基础内容: 我们在使用Struts2的时候会在web.xml文件中进行配置过滤器:编写一个Action类,这里起个名字叫做HelloWorldAction:在struts.xml中进行配置这个Action.

struts2 Advanced Learning

catalog 0. 引言 1. struts2的类型转换 2. struts2的输入校验 3. struts2的拦截器机制 4. 使用struts2的Ajax支持 0. 引言 1. 与所有MVC框架类似,struts2也提供了类型转换和输入校验支持 2. struts2提供了非常强大的类型转换支持,它既提供了大量内建类型转换器,用以满足常规的Web开发,也允许开发者实现自己的类型转换器 3. struts提供了非常强大的输入检验功能,开发者既可以通过XML文件来配置校验规则,也可以通过重写va

【Servlet】根据MVC思想设计用户登陆、用户注册、修改密码系统

MVC不是一种像C.JAVA的编程语言,也不是一种像Ajax,Servlet的技术,只是一种如同面向对象一样编程思想.近年来MVC一直很火,赞者批者有之,然后大篇幅的文章很多,可是简明扼要的简单MVC的例子几乎没有.在JSP领域一直向鼓风机地猛吹SSH如何如何地好,一直怒批JSP,Servlet等如何如何差.其实使用JSP+Servlet同样可以利用MVC思想来完成一个系统.下面用一个烂得不能再烂的例子,你步入网页编程必须学会的东西,登陆.注册.修改密码系统,来说明这种编程思想. 一.基本目标

基于Servlet、JSP、JDBC、MySQL的一个简单的用户注册模块(附完整源码)

最近看老罗视频,做了一个简单的用户注册系统.用户通过网页(JSP)输入用户名.真名和密码,Servlet接收后通过JDBC将信息保存到MySQL中.虽然是个简单的不能再简单的东西,但麻雀虽小,五脏俱全,在此做一归纳和整理.下面先上源码: 一.index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path =

【php】注册系统和使用Xajax即时验证用户名是否被占用

在php中使用Xajax能够即时与数据库发生交互' 带给用户更好的体验 主要的应用有网页的即时.不刷新的登录系统 也可以利用于注册系统中 即时验证用户名是否被占用 一.基本目标 首先在mysql中有一张用户信息表user 编写一个用户注册系统,一开始注册按钮是禁用的状态 当用户输入用户名完毕时,马上检查这个用户名是否被占用,如果是,禁用注册按钮,并弹出对话框 如果用户输入的用户名没有被占用,则解锁注册按钮,但如果用户输入两次输入的密码不一致,同样不允许用户注册 直到用户满足所有注册条件的时候,才

超详细的php用户注册页面填写信息完整实例(附源码)

这篇文章主要介绍了一个超详细的php用户注册页面填写信息完整实例,内容包括邮箱自动匹配.密码强度验证以及防止表单重复等,小编特别喜欢这篇文章,推荐给大家. 注册页面是大多数网站必备的页面,所以很有必要对自己的注册页面做些精心的设计.下面三张图,第一张是注册的展示页面,第二张思维导图就一个简单的逻辑,第三张是通过firebug查看调用的JS文件. 一.给每个输入框写下说明 在用户看到这个输入框的时候,就能非常清晰的明白这个输入框是做啥用的,最大限度的降低他们产生疑惑的可能性.我们需要假设用户毫不了

Django博客项目之登录和注册系统

一.环境准备 1.配置文件 settings.py文件: 增加一项内容实现UserInfo表继承Django用户认证的表 AUTH_USER_MODEL="blog.UserInfo" TEMPLATES = [     {         'BACKEND': 'django.template.backends.django.DjangoTemplates',         'DIRS': [os.path.join(BASE_DIR, 'templates')]