綜合javaweb后臺管理系統,包含java企業級之前的所有知識,
- 使用MVC設計模式,
- 分包,
- 簡單介紹
- 頁面效果預覽
- 后端頁面
- 后端登陸頁面
- 主頁面
- 用戶管理頁面
- 分類管理
- 圖書管理
- 新增圖書
- 訂單管理
- 留言管理
- 前端頁面
- 前端登錄頁面
- 前端主頁面
- 主頁面下的效果
- 前端注冊頁面
- 部分與資料庫連接代碼
簡單介紹:是我目前寫過最大的java專案,寫了半個多月,后臺管理系統,有前端頁面,后端頁面,前端有登錄,注冊,主頁面,添加商品,商品資訊,個人資訊,添加購物車,查看最近瀏覽記錄,模擬支付完成效果等,后端有登錄,注冊,用戶管理,分類管理,商品管理,訂單管理,留言管理,
使用MVC設計模式,
mvc的相關介紹,之前已經提到過了,可以看之前的筆記,
分包,

簡單介紹

這個目錄放前端頁面,下面的manage目錄放后臺頁面,css樣式,js檔案,圖片檔案,

過濾器,用于攔截未登錄前的所有請求,

里邊放的封裝原生JDBC的類,生成隨機訂單號的工具類,和生成驗證碼的類,

頁面效果預覽
后端頁面
后端登陸頁面

主頁面

用戶管理頁面
實作了分頁,模糊查詢的功能,

分類管理

圖書管理
新增圖書

訂單管理

留言管理

點擊跳轉到前端頁面


前端頁面
前端登錄頁面

前端主頁面

主頁面下的效果


點擊對應的超鏈接,顯示對應的畫面效果,

點擊admin

跳轉個人資訊

跳轉到后臺頁面

點擊購物車查看自己購物車里的資訊,


可以添加到購物車并結算,

結算頁面


模擬支付頁面

最近瀏覽記錄:

前端注冊頁面

部分與資料庫連接代碼
package com.vector.daoImp;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.vector.bean.Lmonkey_User;
import com.vector.dao.Basedao;
import com.vector.unit.DataSourceUtils;
public class BasedaoImp implements Basedao {
private QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
@Override
public int addUserinfo(Lmonkey_User u) {
try {
String sql = "insert into lmonkey_user (USER_ID,USER_NAME,USER_PASSWORD,USER_SEX,USER_BIRTHDAY,USER_IDENITY_CODE,USER_EMAIL,USER_MOBILE,USER_ADDRESS,USER_STATUS) values (?,?,?,?,DATE_FORMAT(?,'%Y-%m-%d'),?,?,?,?,?)";
int query = qr.update(sql,u.getUser_id(),u.getUser_name(),u.getUser_password(),u.getUser_sex(),u.getUser_birthday(),u.getUser_idenity_code(),u.getUser_email(),u.getUser_mobile(),u.getUser_address(),u.getUser_status());
return query;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return 0;
}
/**
* 實作分頁操作
*/
@Override
public List<Lmonkey_User> findAll(int cpage, int count, String keyword) {
try {
String sql = "";
if(keyword!=null) {
sql = "select * from lmonkey_user where USER_NAME like ? ORDER BY USER_BIRTHDAY desc limit ? , ?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),("%"+keyword+"%"),(cpage-1)*count,count);
return query;
}else {
sql = "select * from lmonkey_user ORDER BY USER_BIRTHDAY desc limit ? , ?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),(cpage-1)*count,count);
return query;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public int [] totalPage(int count, String keyword) {
int arr[] = {0,1};
String sql = "";
try {
if(keyword!=null) {
sql = "select * from lmonkey_user where USER_NAME like ?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),"%"+keyword+"%");
arr[0] = query.size();
if(arr[0]%count==0) {
arr[1] = arr[0]/count;
}else {
arr[1] = arr[0]/count + 1;
}
}else {
sql = "select * from lmonkey_user";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class));
arr[0] = query.size();
if(arr[0]%count==0) {
arr[1] = arr[0]/count;
}else {
arr[1] = arr[0]/count + 1;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return arr;
}
@Override
public List<Lmonkey_User> selectById(String id) {
try {
String sql = "select m.*, DATE_FORMAT(m.user_birthday, '%Y-%m-%d')birthday from lmonkey_user m where USER_ID=?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),id);
return query;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public int updateUserInfo(Lmonkey_User u) {
try {
String sql = "update Lmonkey_User set USER_NAME=?,USER_PASSWORD=?,USER_SEX=?,USER_BIRTHDAY=DATE_FORMAT(?,'%y-%m-%d'),USER_IDENITY_CODE=?,USER_EMAIL=?,USER_MOBILE=?,USER_ADDRESS=?,USER_STATUS=? where USER_ID = ?";
int query = qr.update(sql,u.getUser_name(),u.getUser_password(),u.getUser_sex(),u.getUser_birthday(),u.getUser_idenity_code(),u.getUser_email(),u.getUser_mobile(),u.getUser_address(),u.getUser_status(),u.getUser_id());
return query;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return 0;
}
/*洗掉用戶
*
* */
@Override
public int delUser(String id) {
try {
String sql = "delete from Lmonkey_User where USER_ID=? and USER_STATUS!=2";
Object[] params= {id};
int query = qr.update(sql,params);
return query;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return 0;
}
@Override
public int selectByName(String id) {
int count = 1;
try {
String sql = "select * from lmonkey_user where USER_ID = ?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),id);
count = query.size();
return count;
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
@Override
public int selectByNM(String userName, String passWord) {
int count = 1;
try {
String sql = "select * from lmonkey_user where USER_ID = ? and USER_PASSWORD = ?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),userName,passWord);
count = query.size();
return count;
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
@Override
public List<Lmonkey_User> selectAdmin(String userName, String passWord) {
try {
String sql = "select m.*, DATE_FORMAT(m.user_birthday, '%Y-%m-%d')birthday from lmonkey_user m where USER_ID=? and USER_PASSWORD = ?";
List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),userName,passWord);
return query;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
還會陸續更新其他專案,用功能更強大的技術(SSM,Sprint系列的框架,等),希望大家多多關注,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/244327.html
標籤:其他
上一篇:C語言編程>第十二周 ① 請撰寫函式fun,該函式的功能是:移動字串中的內容,移動的規則如下:把第1到第n個字符,平移到字串的最后,把第n+1到最后的字符移到字串的前部。
下一篇:FPGA-分頻器
