EasyBuy_flc oder
(EasyBuy_01)Gruppendatenbankname:
EasyBuy_flcVersionskontrolltool: svn, Nr länger genutzt
In Zukunft können Sie die Projekte Ihrer eigenen Gruppe auf git hochladen
Entwicklungsprozesssteuerung:
Teamleiter: Ändern Sie alle html
Seiten in das Suffix jspund richten Sie dann das ein Datenbank und Datentabelle
A Teammitglieder: Datenbank entwerfen, chinesische Feldnamen von Datentabellen schreiben BTeammitglieder: Entitätsklassen entwerfen
Projektentwicklungsschritte1.
Datenbankdesign
Tabelle1 EU_USER_ID varchar
BenutzernameEU_USER_NAME varchar
EchtnameEU_PASSWORD varchar
PasswortEU_SEX varchar
Geschlecht (T, F)EU_BIRTHDAY Datum GeburtsdatumEU_IDENTITY_CODE
varcharPersonalausweis EU_EMAIL
varchar====== ============== ================================== ====
easybuy_product_category (Produktkategorietabelle
)Tabelle2
EPC_ID 🎜> EPC_NAME Kategoriename
EPC_PARENT_ID Vaterkategorienummer
======= =================================
easybuy_product(Produktliste)
Tabelle3
EP_IDProduktnummer
EP_NAMEProduktname
EP_DESCRIPTION Produktbeschreibung
EP_PRICE Produktpreis
EP_STOCK Produktbestand
EPC_ID Das übergeordnete Element der Kategorie, zu der das aktuelle Produkt gehört. Kategorienummer
EPC_CHILD_ID Kategorie, zu der das aktuelle Produkt gehört
EP_FILE_NAME Produktbildname
== ======== ======================================== ========
easybuy_order(Bestelltabelle) Tabelle4
EO_ID Bestellnummer
EO_USER_ID Benutzer, dem die Bestellung gehört
EO_USER_NAME Benutzer, dem die Bestellung gehört (richtiger Name)
EO_USER_ADDRESS Lieferadresse der Bestellung
EO_CREATE_TIME Auftragsbildungszeit
EO_COST Betrag dieser Bestellung
EO_STATUS Bestellstatus
EO_TYPE ================ ================================= ==
easybuy_order_detail(Tabelle mit Bestelldetails) Tabelle
5EOD_ID Bestelldetailnummer
EO_IDBestellnummer
EP_IDArtikelnummer
EOD_Q UANTITYAnzahl der Artikel
EOD_COSTAnzahl eines einzelnen Artikels
============= ============================== ==============
easybuy_news
(Nachrichtentabelle) Tabelle
6EN_ID Nachrichtennummer
EN_TITLENachrichtentitel
EN_CONTENT Nachrichteninhalt
EN_CREATE_TIME Zeitpunkt der Veröffentlichung der Pressemitteilungen
======= =========================================
easybuy_comment (Kommentartabelle) Tabelle 7
EC_ID Kommentarnummer
EC_CONTENT Kommentarinhalt
EC_CREATE_TIME Kommentarerstellungszeit
EC_REPLY Kommentarantwort
EC_REPLY_TIME Antwortzeit für Kommentare
EC_NICK_NAME Rezensent
============================================== == ==============
Entity Layer-Code lautet wie folgt:
Benutzer Benutzer Klasse:
Produktkategorie:
Produktinformationstabelle:
Bestelltabelle:
Bestelldetail-Bestelldetailstabelle:
Nachrichteninformationstabelle:
User_address class:
Count class:
Erste Schritte Punkt: 1:
Mein Login:
Die Funktionen sind: Verifizierung, Verifizierungscode, erfolgreicher Login-Seitensprung.
Schichtung starten:
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(); } } }
Dao-Schicht:
select(String name,String pwd) Exception; }
Dao-Implementierungsschicht:
UserDaoImpl BaseDAO select(String name,String pwd) ="select count(1) from easybuy_user where loginname=? and loginname=?"=(rs!==rs.getInt("id"
Services-Schicht:
select(String name,String pwd)
Services-Implementierungsschicht:
我的重难点:
难点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中使用正则表达式筛选出取药进行权限验证的页面进行权限验证,
自在人与人
Das obige ist der detaillierte Inhalt vonTeilen Sie ein Beispiel-Tutorial des Yimai.com-Projekts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!