Maison > Java > javaDidacticiel > Partagez un exemple de tutoriel du projet Yimai.com

Partagez un exemple de tutoriel du projet Yimai.com

零下一度
Libérer: 2017-06-25 13:30:59
original
18450 Les gens l'ont consulté

                                                                                                                            

0. 🎜> 6 groupes :

Nom du projet du groupe :

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 projet

1.

Conception de la base de données

easybuy_user (table utilisateur)

Table1 EU_USER_ID varchar

Nom d'utilisateur

EU_USER_NAME varchar 

Vrai nom

EU_PASSWORD varchar 

Mot de passe

EU_SEX varchar

Sexe (

T, F) EU_BIRTHDAY date Date de naissance EU_IDENTITY_CODE

varchar

Carte d'identité EU_EMAIL

varchar

 

E-mail

====== ============== ===================================== ====

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_ID

Numéro de produit

EP_NAME

Nom 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_ID

Utilisateur à qui appartient la commande

EO_USER_NAME

Utilisateur à qui appartient la commande (vrai nom)

EO_USER_ADDRESS

Adresse d'expédition de la commande

EO_CREATE_TIME

Délai de formation de la commande

EO_COST

Montant de cette commande

EO_STATUS

Statut 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_ID

Numéro de détail de la commande

EO_ID 

Numéro de commande

EP_ID 

Numéro d'article

EOD_Q UANTITY

Quantité des articles

EOD_COST

Montant d'un article unique

============= ================================== ===========

easybuy_news

(Tableau des actualités) Tableau6

EN_ID

Numéro de l'actualité

EN_TITLE

Titre 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

================================================ == ===============

2.Construire la structure du projet

2.1À partir de la couche entité

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();
        }
    }
}
Copier après la connexion

Couche dao :

   select(String name,String pwd)  Exception;

}
Copier après la connexion

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"
Copier après la connexion

couche de services :

   select(String name,String pwd)
Copier après la connexion

couche de mise en œuvre des services :

c877634b24c65a995b0aa84fa94993be

我的重难点:

难点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: 商品分类信息的层级显示: 问题描述: 商品分类中存在父级分类和子分类。如何显示 解决方案: 分别查询出父级分类和子级分类类在遍历父级分类时遍历子级分类找出该父级分类的子分类进行显示 复制代码如下:

商品分类

       
           
            //遍历父级分类            
${pitem.EPC_NAME }
//显示父分类             //遍历子级分类                                    
${citem.EPC_NAME }
           
           
        
                                           
       

难点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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal