Java Web开发实践 - 设计资料

本文档详细介绍了系统架构设计的基本原则,包括系统入口文档、异步数据接口文档以及数据库设计文档等内容。此外还涉及了前端代码托管、Tomcat服务问题及其解决方案等关键信息。

#系统入口文档 ##约定

  1. 模板根路径为:webapp/template
  2. 数据是指后端预填到模板的数据
  3. 默认权限为需要登录
  4. 登录后,所有模板都需要的数据:
user类型Object
username用户名
usertype0为买家1为卖家

##1. 登录页 输入图片说明

##2. 退出 输入图片说明

##3. 展示页 输入图片说明

##4. 查看页 输入图片说明

##5. 账务页 输入图片说明

##6. 发布页 输入图片说明

##7. 发布提交 输入图片说明

##8. 编辑页 输入图片说明

##9.编辑提交 输入图片说明

#异步数据接口文档 ##约定

  1. 默认权限为需要登录
  2. 返回统一为json数据,格式为;
{
    code:xxx,
    message:xxx,
    result:xxx
}
  1. code为200,表示请求成功,其他表示异常
  2. 当code不是200时,message中应说明原因

##1. 登录 输入图片说明 ##2. 删除产品 输入图片说明 ##3. 购买 输入图片说明 #数据库设计文档 数据库表结构:

用户表

create table person(

id int auto_increment primary key comment "主键", 

userName varchar(100) comment "用户名", 

password varchar(100) comment "密码md5加密",

nickName varchar(50) comment "用户昵称",

userType tinyint(3) comment "类型,买家0,卖家1") 

ENGINE=InnoDB  DEFAULT CHARSET=utf8;

内容表

create table content(

id int auto_increment primary key comment "主键",  

price bigint  comment "当前价格",

title varchar(100) comment "标题",

icon blob comment "图片",

abstract varchar(200) comment "摘要",

text blob comment "正文"  )

ENGINE=InnoDB  DEFAULT CHARSET=utf8;

交易记录表


create table trx(

id int auto_increment primary key comment "主键",  

contentId int  comment "内容ID",

personId int comment "用户ID",

price int comment "购买价格",

time bigint comment "购买时间")

ENGINE=InnoDB  DEFAULT CHARSET=utf8;

用户数据:

insert into `person` (`id`, `userName`, `password`, `nickName`, `userType`) values('0','buyer','37254660e226ea65ce6f1efd54233424','buyer','0');

insert into `person` (`id`, `userName`, `password`, `nickName`, `userType`) values('1','seller','981c57a5cfb0f868e064904b8745766f','seller','1');

#前端代码 编者把文件转移到了Git上webapp #tomcat的service包装的问题 ##说明

  • 针对反应的蜂巢镜像里面Tomcat的service包装文件有问题的情况,目前已进行了问题定位及修复
  • 修复后的镜像会很快放出
  • 对于不想换新镜像的同学,我们提供了一个补丁,可以手动将这个补丁打上去 ##补丁使用方式
  • 补丁文件tomcat.patch,用户首先需要把它上传到蜂巢服务器上,假定路径为~/tomcat.patch
  • 执行如下命令
cd /etc/init.d/
cp tomcat7 tomcat7.bak
patch < ~/tomcat.patch
  • 如果有遗留的tomcat进程,全部杀死
pkill java
  • 然后就可以愉快的执行service tomcat7 [start|stop|restart|status]

##tomcat.patch

--- tomcat7	2016-04-07 13:53:15.244016296 +0800
+++ tomcat7.new	2016-04-07 14:20:00.864245899 +0800
@@ -180,6 +180,27 @@
 	return $status
 }
 
+
+check_process_doesnt_exist() {
+
+	if [ ! -f $CATALINA_PID ]; then
+		return 0
+	fi
+
+	pid=`cat $CATALINA_PID`
+	kill -0 $pid 
+	if [ "$?" = "0" ]; then
+		ps -u "$TOMCAT7_USER" | grep "$pid"
+		if [ "$?" = "0" ]; then
+			return 1
+		else
+			return 0
+		fi
+	else
+		return 0
+	fi
+}
+	
 case "$1" in
   start)
 	if [ -z "$JAVA_HOME" ]; then
@@ -193,9 +214,8 @@
 	fi
 
 	log_daemon_msg "Starting $DESC" "$NAME"
-	if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
-		--user $TOMCAT7_USER --exec "$JAVA_HOME/bin/java" \
-		>/dev/null; then
+
+	if check_process_doesnt_exist >/dev/null 2>&1; then
 
 		# Regenerate POLICY_CACHE file
 		umask 022
@@ -215,9 +235,7 @@
 
 		catalina_sh start $SECURITY
 		sleep 5
-        	if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
-			--user $TOMCAT7_USER --exec "$JAVA_HOME/bin/java" \
-			>/dev/null; then
+        	if check_process_doesnt_exist >/dev/null 2>&1; then
 			if [ -f "$CATALINA_PID" ]; then
 				rm -f "$CATALINA_PID"
 			fi
@@ -255,9 +273,7 @@
 	;;
    status)
 	set +e
-	start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
-		--user $TOMCAT7_USER --exec "$JAVA_HOME/bin/java" \
-		>/dev/null 2>&1
+	check_process_doesnt_exist >/dev/null 2>&1
 	if [ "$?" = "0" ]; then
 
 		if [ -f "$CATALINA_PID" ]; then
@@ -280,9 +296,7 @@
 	$0 start
 	;;
   try-restart)
-        if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
-		--user $TOMCAT7_USER --exec "$JAVA_HOME/bin/java" \
-		>/dev/null; then
+        if check_process_doesnt_exist >/dev/null 2>&1; then
 		$0 start
 	fi
         ;;

转载于:https://my.oschina.net/hava/blog/779440

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值