EasyBuy_flc ou
(EasyBuy_01)Nom de la base de données du groupe :
EasyBuy_flcOutil de contrôle de version : svn, non plus utilisé
À l'avenir, vous pourrez télécharger les projets de votre propre groupe sur git
Contrôle du processus de développement :
Chef d'équipe : Remplacez toutes les pages html
par le suffixe jsp, puis établissez le base de données et table de données
A Membres de l'équipe : concevoir la base de données, écrire les noms de champs chinois des tables de données BMembres de l'équipe : concevoir des classes d'entités
Étapes de développement du projet1.
Conception de la base de données
Table1 EU_USER_ID varchar
Nom d'utilisateurEU_USER_NAME varchar
Vrai nomEU_PASSWORD varchar
Mot de passeEU_SEX varchar
Sexe (T, F) EU_BIRTHDAY date Date de naissance EU_IDENTITY_CODE
varcharCarte d'identité EU_EMAIL
varchar====== ============== ===================================== ====
easybuy_product_category (Tableau des catégories de produits
)Tableau2
EPC_ID 🎜> EPC_NAME Nom de la catégorie
EPC_PARENT_ID Numéro de catégorie du père
======= ==================================
easybuy_product(Liste de produits)
Tableau3
EP_IDNuméro de produit
EP_NAMENom du produit
EP_DESCRIPTION Description des produits
EP_PRICE Prix du produit
EP_STOCK Inventaire du produit
EPC_ID Le parent de la catégorie à laquelle appartient le produit actuel Numéro de catégorie
EPC_CHILD_ID Catégorie à laquelle appartient le produit actuel
EP_FILE_NAME Nom de l'image du produit
== ======== =========================================== ========
easybuy_order(tableau de commande) Tableau4
EO_ID Numéro de commande
EO_USER_IDUtilisateur à qui appartient la commande
EO_USER_NAMEUtilisateur à qui appartient la commande (vrai nom)
EO_USER_ADDRESSAdresse d'expédition de la commande
EO_CREATE_TIMEDélai de formation de la commande
EO_COSTMontant de cette commande
EO_STATUSStatut de la commande
EO_TYPE
Type de commande (Ce projet n'est pas activé)
===== ============= =====================================
easybuy_order_detail(Tableau des détails de la commande) Tableau5
EOD_IDNuméro de détail de la commande
EO_IDNuméro de commande
EP_IDNuméro d'article
EOD_Q UANTITYQuantité des articles
EOD_COSTMontant d'un article unique
============= ================================== ===========
easybuy_news(Tableau des actualités) Tableau6
EN_IDNuméro de l'actualité
EN_TITLETitre de l'actualité
EN_CONTENT Contenu de l'actualité
EN_CREATE_TIME Heure du communiqué de presse
======= =============================================
easybuy_comment (tableau de commentaires) Tableau 7
EC_ID Numéro du commentaire
EC_CONTENT Contenu du commentaire
EC_CREATE_TIME Heure de création du commentaire
EC_REPLY Réponse au commentaire
EC_REPLY_TIME Délai de réponse aux commentaires
EC_NICK_NAME Réviseur
================================================ == ===============
Entité le code de couche est le suivant :
Utilisateur utilisateur classe :
Catégorie_produit :
Tableau d'informations sur le produit :
Tableau des commandes :
Tableau des détails de la commande Order_detail :
Tableau des informations sur les actualités :
Classe d'adresse_utilisateur :
Classe de comptage :
Commencer Article : 1 :
Mon identifiant :
Les fonctions sont : vérification, code de vérification, saut de page de connexion réussi.
Démarrer la superposition :
Tool BaseDao :
package cn.com.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import javax.naming.Context;import javax.naming.InitialContext;import javax.sql.DataSource;public class BaseDAO {public static final String driver = "com.mysql.jdbc.Driver";public static final String url = "jdbc:mysql://localhost:3306/easybuy?useUnicode=true&charaterEncoding=UTF-8";public static final String username = "root";public static final String pwd = "1234";public Connection con=null;public PreparedStatement ps=null;public ResultSet rs=null; //获取连接getConnectionpublic Connection getConnection() throws Exception {//加载驱动 Class.forName(driver);if (con == null || con.isClosed()) { con = DriverManager.getConnection(url, username, pwd); }return con; }//查询 executeQuerypublic ResultSet executeQuery(String sql, Object...objects) throws Exception { con = getConnection(); ps = con.prepareStatement(sql);for (int i = 0; i < objects.length; i++) { ps.setObject(i + 1, objects[i]); } rs = ps.executeQuery();return rs; }//增、删、改public int executeUpudate(String sql, Object... objects) throws Exception { con = getConnection(); ps = con.prepareStatement(sql);for (int i = 0; i < objects.length; i++) { ps.setObject(i + 1, objects[i]); }int num = ps.executeUpdate(); return num; }public void closeAll() throws Exception {if (rs != null || !rs.isClosed()) { rs.close(); }if (ps != null || !ps.isClosed()) { ps.close(); }if (con != null || !con.isClosed()) { con.close(); } } }
Couche dao :
select(String name,String pwd) Exception; }
Couche de mise en œuvre dao :
UserDaoImpl BaseDAO select(String name,String pwd) ="select count(1) from easybuy_user where loginname=? and loginname=?"=(rs!==rs.getInt("id"
couche de services :
select(String name,String pwd)
couche de mise en œuvre des services :
我的重难点:
难点1: 在浏览中cookie的存取。 问题描述: 当用户浏览商品时将该用或浏览的当前商品id放入cookie中在”最近浏览“中显示用户浏览过的商品信息 难点:cookie中存放有SessionId如何区分SessionId和商品id? 解决方案: 在将商品id放入cookie中是将cookie的key值和value值设置为相同的值也就是商品的id(cookie中存放Sessionid的cookie的key值和value值不一样),然后在遍历cookie时对比其key值和value值是否相等(相等即商品id不相等则不是商品)
难点2: 百度富文本编辑器中图片上传的配置 问题描述: 使用百度的文本富文本编辑器是传图片后不能在页面上显示 解决方案: 在ueditor的jsp文件夹下的config.json文件中配置正确的上传路径和访问访问路径。 imagePathFormat:图片上传后保存的路径相对于网站的根目录 imageUrlPrefix:图片的访问路径前缀相对于当前页面路径,其访问路径为imagerurlPrefix+imagePathFormat
难点3: 商品分类信息的层级显示: 问题描述: 商品分类中存在父级分类和子分类。如何显示 解决方案: 分别查询出父级分类和子级分类类在遍历父级分类时遍历子级分类找出该父级分类的子分类进行显示 复制代码如下:
难点4:
使用过滤器实现权限控制 问题描述: 如何区分哪些页面需要验证权限 解决方案: 将需要验证权限的页面设置统一格式的路径在Filter中使用正则表达式筛选出取药进行权限验证的页面进行权限验证,
自在人与人
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!