系统功能:
1)用户注册,用户登录(d_user)
2)产品浏览(d_category,d_category_product,d_product,d_book)
3)购物车()
4)订单创建(d_receive_address,d_order,d_item)
1.0 模块:
=======================================================
第一步:数据库设计(详情见dangdang.sql)
d_user --用户信息表
d_receive_address --用户收货地址表
d_category --类别信息表,图书栏目(分类)表
d_category_product --类别和产品关系表,栏目与产品对应关系表
d_product --产品信息表(各种类型产品所具有的共同信息项)
d_order --订单信息表
d_item --订单明细表
d_book --图书信息表
-------------------------------------------
d_comment --产品评论表
d_comment_reply --产品评论回复表
d_send_way --配送方式表
第二步:导入jar包
commons-collections-3.1.jar
commons-dbcp-1.2.2.jar
commons-email-1.2.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-pool.jar
freemarker-2.3.15.jar
mail.jar
mysql-connector-java-5.1.8-bin.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
struts2-json-plugin-2.1.8.jar
xwork-core-2.1.6.jar
第三步:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2Controller</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2Controller</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
第四步:写实体类 entity User
package tarena.dangdang.entity;
/**
CREATE TABLE d_user (
id int(12) NOT NULL auto_increment,
email varchar(50) NOT NULL,
nickname varchar(50) default NULL,
password varchar(50) NOT NULL,
user_integral int(12) NOT NULL default '0',
is_email_verify char(3) default 'no',
email_verify_code varchar(60) default NULL,
has_deleted varchar(5) default 'false',
last_login_time bigint(20) default NULL,
last_login_ip varchar(15) default NULL,
PRIMARY KEY (id),
UNIQUE KEY email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
* @author hfsd1110
*
*/
public class User {
private int id;
private String email;
private String nickname;
private String password;
private int user_integral;//用户积分
private boolean is_email_verify;//邮箱是否验证
private String email_verify_code;//邮箱验证码
// private String has_deleted;
private long last_login_time;
private String last_login_ip;
public User() {
}
public User(String email, String password) {
this.email = email;
this.password = password;
}
public User(int id, String email, String nickname, String password,
int userIntegral, boolean isEmailVerify, String emailVerifyCode,
long lastLoginTime, String lastLoginIp) {
this.id = id;
this.email = email;
this.nickname = nickname;
this.password = password;
user_integral = userIntegral;
is_email_verify = isEmailVerify;
email_verify_code = emailVerifyCode;
last_login_time = lastLoginTime;
last_login_ip = lastLoginIp;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getUser_integral() {
return user_integral;
}
public void setUser_integral(int userIntegral) {
user_integral = userIntegral;
}
public boolean isIs_email_verify() {
return is_email_verify;
}
public void setIs_email_verify(boolean isEmailVerify) {
is_email_verify = isEmailVerify;
}
public String getEmail_verify_code() {
return email_verify_code;
}
public void setEmail_verify_code(String emailVerifyCode) {
email_verify_code = emailVerifyCode;
}
public long getLast_login_time() {
return last_login_time;
}
public void setLast_login_time(long lastLoginTime) {
last_login_time = lastLoginTime;
}
public String getLast_login_ip() {
return last_login_ip;
}
public void setLast_login_ip(String lastLoginIp) {
last_login_ip = lastLoginIp;
}
}
第五步:复制util、Factory包、复制四个src下面的配置文件。
util包
================================================
1.
package tarena.util;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBUtil {
private static DataSource ds;// 获取数据库连接池
private static ThreadLocal<Connection> connLocal = new ThreadLocal<Connection>();// 创建线程局部变量
static {
Properties props = new Properties();
try {
props.load(DBUtil.class.getClassLoader().getResourceAsStream(
"mysql.properties"));
ds = BasicDataSourceFactory.createDataSource(props);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
Connection conn = connLocal.get();
if (conn == null) {
conn = ds.getConnection();
connLocal.set(conn);
}
return conn;
}
public static void closeConnection() throws SQLException {
Connection conn = connLocal.get();
connLocal.set(null);
if (conn != null) {
conn.close();
}
}
}
--------------------------
mysql.properties:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dang?useUnicode=true&characterEncoding=utf8
username=root
password=tarena
initialSize=2
maxActive=15
maxIdle=2
minIdle=1
maxWait=30000
2.
package tarena.util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
/*
* mysql_5.5.1.zip 50M
* MD5: 4532adf83efa4532adf83efa
*
*/
// md5sum mysql_5.5.1.zip mysql_5.5.1.zip
// 4532adf83efa4532adf83efa
//TODO Day2 8 数据摘要工具类
//"数据摘要"是"数据"的"识别指纹"
//一组数据的摘要是唯一的
// 一个文件(5MByte) --摘要算法(MD5)--> 摘要(128bit)
// 另外一个文件 -- MD5 --> 摘要(128bit)
// ABC.tar.gz
// cp ABC.tar.gz def.tar.gz
// md5sum ABC.tar.gz def.tar.gz
// 不正确的说法: "MD5加密"
// icbb
// MD5
// 1234 ---> 1234icbb -> 81dc9bdb52d04dc20036dbd8313ed055
//
// 1234 ---> 1234icbb -> 81dc9bdb52d04dc20036dbd8313ed055
public class Md5Util {
public static byte[] md5(byte[] data) {
try {
MessageDigest md = MessageDigest.getInstance("md5");
md.update(data);
return md.digest();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static String md5(String data) {
try {
byte[] md5 = md5(data.getBytes("utf-8"));
return toHexString(md5);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
public static String toHexString(byte[] md5) {
StringBuilder buf = new StringBuilder();
for (byte b : md5) {
buf.append(leftPad(Integer.toHexString(b & 0xff), '0', 2));
}
return buf.toString();
}
public static String leftPad(String hex, char c, int size) {
char[] cs = new char[size];
Arrays.fill(cs, c);
System.arraycopy(hex.toCharArray(), 0, cs, cs.length - hex.
没有合适的资源?快使用搜索试试~ 我知道了~
struts2 当当网项目
共930个文件
gif:440个
jpg:141个
class:72个
5星 · 超过95%的资源 需积分: 9 34 下载量 137 浏览量
2012-09-06
16:18:26
上传
评论
收藏 23.71MB RAR 举报
温馨提示
当当网项目代码 struts2 jquery jsp jdbc html jsp css javascript
资源推荐
资源详情
资源评论
收起资源包目录
struts2 当当网项目 (930个子文件)
ProductDaoImpl.class 6KB
OrderDaoImpl.class 4KB
OrderAddAction.class 4KB
UserDaoImpl.class 4KB
BookListAction.class 4KB
UserDaoImpl.class 4KB
CartAction.class 4KB
CartServiceSession.class 3KB
Book.class 3KB
LoginAction.class 3KB
ImageAction.class 3KB
ImageAction.class 3KB
CategoryDaoImpl.class 3KB
Book.class 3KB
RegisterGoAction.class 3KB
User.class 3KB
Order.class 3KB
OrderOkAction.class 3KB
LoginAction.class 3KB
RegistGoAction.class 2KB
Md5Util.class 2KB
Md5Util.class 2KB
Product.class 2KB
User.class 2KB
OrderGoAction.class 2KB
Product.class 2KB
Item.class 2KB
CheckCodeAction.class 2KB
Address.class 2KB
Item.class 2KB
CheckCodeAction.class 2KB
Category.class 2KB
CheckEcodeAction.class 2KB
Category.class 2KB
DBUtil.class 2KB
CheckEcodeAction.class 2KB
EmailUtil.class 2KB
DBUtil.class 2KB
EmailUtil.class 2KB
HotListAction.class 1KB
DetailAction.class 1KB
CheckEmailAction.class 1KB
ConfigUtil.class 1KB
RegisterOkAction.class 1KB
ConfigUtil.class 1KB
RecommendAction.class 1KB
CheckEmailAction.class 1KB
CategoryAction.class 1KB
NewAction.class 1KB
HotAction.class 1KB
ServiceFactory.class 1KB
RegistOkAction.class 1KB
CartItem.class 1KB
CartItem.class 997B
DaoFactory.class 897B
DaoFactory.class 876B
VerifyUtil.class 770B
VerifyUtil.class 756B
LogoutAction.class 718B
LogoutAction.class 679B
ProductDao.class 589B
OrderDao.class 560B
RegisterFormAction.class 522B
ProductDao.class 509B
UserDao.class 473B
Constant.class 429B
UserDao.class 425B
MainAction.class 416B
Constant.class 415B
CategoryDao.class 408B
CartService.class 404B
RegistFormAction.class 399B
.classpath 2KB
.classpath 1KB
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
book.css 25KB
book.css 25KB
second.css 20KB
second.css 20KB
register_login.css 14KB
register_login.css 14KB
book_head090107.css 13KB
book_head090107.css 13KB
login.css 13KB
login.css 13KB
list.css 10KB
list.css 10KB
shopping_vehicle.css 9KB
shopping_vehicle.css 9KB
shopping_head.css 5KB
shopping_head.css 5KB
booksaleslist.css 5KB
booksaleslist.css 5KB
page_bottom.css 3KB
page_bottom.css 3KB
public_footer.css 2KB
public_footer.css 2KB
research.css 2KB
research.css 2KB
共 930 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
- well_28182015-05-19很实用的代码,值得学习
- student1192012-11-12只能进入到默认的首页,里面进不去了!
- mensa6562014-04-20看的出,这位同学做的很认真!赞一个!
- jeeciki2014-02-05很值得参考谢谢
wangzhzheng
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功