基于javaweb+mysql的jsp+servlet家居购物商城系统(java+jsp+jdbc+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet家居购物商城系统(java+jsp+jdbc+mysql)
一、项目简述
功能: Java Web精品项目源码,家居商城分类展示,商品展示, 商品下单,购物车,个人中心,后台管理,用户管理,商品管理,分类管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Jdbc+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload
/**
* Servlet Filter implementation class Register
*/
@WebFilter("/register")
public class Register implements Filter {
/**
* Default constructor.
*/
public Register() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
String userName = req.getParameter("userName");
PrintWriter out = resp.getWriter();
if(userName.equals("")) {
out.write("<script>");
out.write("alert('用户名称不能为空');");
out.write("location.href='reg.jsp';");
out.write("</script>");
out.close();
return;
}
request.setAttribute("price",price);
request.setAttribute("count",count);
request.setAttribute("product",p);
request.setAttribute("totalPrice",totalPrice);
//查询购物车数量
String cartCount = "0";
CartService service3 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service3.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
OrderService service4 = new OrderServiceImpl();
Order o = service4.findOrderById(oid);
request.setAttribute("order",o);
}else {
CategoryService service1 = new CategoryServiceImpl();
List<Category> flist = service1.findCategoryListByName("father");
List<Category> clist = service1.findCategoryListByName("child");
request.setAttribute("flist",flist);
request.setAttribute("clist",clist);
AddressService service = new AddressServiceImpl();
List<Address> addresses = service.findAddressByUserId(user.getUser_id());
request.setAttribute("address",addresses);
//计算商品价格
String pid = request.getParameter("pid");
String count = request.getParameter("count");
ProductService service2 = new ProductServiceImpl();
Product p = service2.findProductById(Integer.valueOf(pid));
int price = p.getProduct_price();
int totalPrice = price*Integer.valueOf(count);
request.setAttribute("price",price);
@WebServlet("/updateUserPhotoServlet")
public class UpdateUserPhotoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=UTF-8");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
if (user != null) {
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);// 初始化
String fileName = "";
int userId = user.getUser_id();
try {
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = userId + "." + fileName;
File f = new File(this.getServletContext().getRealPath("/upload/user"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/user/" + fileName);
} catch (SmartUploadException e) {
e.printStackTrace();
}
UserService service = new UserServiceImpl();
}else {
request.setAttribute("link", "img/banner1.jpg");
}
request.getRequestDispatcher("productlist.jsp").forward(request, response);
}else {
//有fid
String fid = request.getParameter("fid");
CategoryService service2 = new CategoryServiceImpl();
Category f = service2.findCategoryByCid(Integer.valueOf(fid));
request.setAttribute("fatherC",f);
List<Category> flist = service2.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service2.findCategoryListByName("child");
request.setAttribute("clist", clist);
//没实现分类添加图片
if (f.getCategory_id() == 1) {
request.setAttribute("link", "images/temp/banner1.jpg");
}else if (f.getCategory_id() == 2){
request.setAttribute("link", "images/temp/bzbig.jpg");
}else if (f.getCategory_id() == 3){
request.setAttribute("link", "images/temp/banner2.jpg");
}else if (f.getCategory_id() == 4){
request.setAttribute("link", "images/temp/perfume_Banner.jpg");
}else if (f.getCategory_id() == 5){
request.setAttribute("link", "img/idea1.jpg");
}else {
request.setAttribute("link", "img/banner1.jpg");
}
ProductService service = new ProductServiceImpl();
List<Product> list = service.findProductByCategoryFid(Integer.valueOf(fid));
request.setAttribute("productList",list);
request.getRequestDispatcher("productlist.jsp").forward(request, response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
@WebServlet("/toUserInfoServlet")
public class ToUserInfoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
if (user != null) {
UserService service = new UserServiceImpl();
User newUser = service.findUserByUserId(user.getUser_id());
CategoryService service1 = new CategoryServiceImpl();
List<Category> flist = service1.findCategoryListByName("father");
List<Category> clist = service1.findCategoryListByName("child");
request.setAttribute("flist",flist);
request.setAttribute("clist",clist);
request.setAttribute("user",newUser);
//查看该用户的各种订单数量
OrderService service2 = new OrderServiceImpl();
List<Order> orders = service2.findOrderByUserId(user.getUser_id());
int a1 = 0;
int a2 = 0;
int a3 = 0;
int a4 = 0;
for (Order o:orders) {
if ("0".equals(o.getIs_pay()) && "0".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
a1++;
}
if ("1".equals(o.getIs_pay()) && "0".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
a2++;
}
if ("1".equals(o.getIs_pay()) && "1".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
a3++;
}
if ("1".equals(o.getIs_pay()) && "1".equals(o.getIs_ship()) && "1".equals(o.getIs_receipt())) {
a4++;
}
}
request.setAttribute("a1",a1);
}else if (f.getCategory_id() == 4){
request.setAttribute("link", "images/temp/perfume_Banner.jpg");
}else if (f.getCategory_id() == 5){
request.setAttribute("link", "img/idea1.jpg");
}else {
request.setAttribute("link", "img/banner1.jpg");
}
request.getRequestDispatcher("productlist.jsp").forward(request, response);
}else {
//有fid
String fid = request.getParameter("fid");
CategoryService service2 = new CategoryServiceImpl();
Category f = service2.findCategoryByCid(Integer.valueOf(fid));
request.setAttribute("fatherC",f);
List<Category> flist = service2.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service2.findCategoryListByName("child");
request.setAttribute("clist", clist);
//没实现分类添加图片
if (f.getCategory_id() == 1) {
request.setAttribute("link", "images/temp/banner1.jpg");
}else if (f.getCategory_id() == 2){
request.setAttribute("link", "images/temp/bzbig.jpg");
}else if (f.getCategory_id() == 3){
request.setAttribute("link", "images/temp/banner2.jpg");
}else if (f.getCategory_id() == 4){
request.setAttribute("link", "images/temp/perfume_Banner.jpg");
}else if (f.getCategory_id() == 5){
request.setAttribute("link", "img/idea1.jpg");
}else {
request.setAttribute("link", "img/banner1.jpg");
}
ProductService service = new ProductServiceImpl();
List<Product> list = service.findProductByCategoryFid(Integer.valueOf(fid));
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('新增用户失败!');");
out.write("</script>");
out.close();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.user;
@WebServlet("/updateUserPhotoServlet")
public class UpdateUserPhotoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=UTF-8");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
if (user != null) {
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);// 初始化
String fileName = "";
request.getRequestDispatcher("order.jsp").forward(request, response);
}else {
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.product;
@WebServlet("/selectProductList")
public class SelectProductList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//查询购物车数量
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
String cartCount = "0";
CartService service1 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service1.findCartCountByUserId(user.getUser_id()));
}else {
//将内存中的图片输出到浏览器
//参数一:图片对象
//参数二:图片的格式,如PNG,JPG,GIF
//参数三:图片输出到哪里去
ImageIO.write(image,"PNG",response.getOutputStream());
}
/**
* 产生4位随机字符串
*/
private String getCheckCode() {
String base = "23456789ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz";
int size = base.length();
Random r = new Random();
StringBuffer sb = new StringBuffer();
for(int i=1;i<=4;i++){
//产生0到size-1的随机值
int index = r.nextInt(size);
//在base字符串中获取下标为index的字符
char c = base.charAt(index);
//将c放入到StringBuffer中去
sb.append(c);
}
return sb.toString();
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}
package servlet.product;
ids= (List<Integer>)session.getAttribute("ids");
if(ids!=null) {
List<LMONKEY_PRODUCT> lastlylist = LMONKEY_PRODUCTDao.selectAllById(ids);
request.setAttribute("lastlylist", lastlylist);
}
LMONKEY_PRODUCT p = null;
if(id !=null) {
p = LMONKEY_PRODUCTDao.selectById(Integer.parseInt(id));
request.setAttribute("p", p);
}
if(p!=null) {
int cid = p.getPRODUCT_CID();
List<LMONKEY_PRODUCT> classlist = LMONKEY_PRODUCTDao.selectAllByCid(cid);
request.setAttribute("classlist", classlist);
Category cate = CategoryDao.selectById(cid);
request.setAttribute("cate", cate);
}*/
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.cart;
public class UpdateUserListServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);// 初始化
String fileName = "";
try {
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
int UserId = Integer.valueOf(request.getParameter("userId"));
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
String fileNameExt = uploadFiles.getFile(0).getFileExt();
if("".equals(fileName)) {
System.out.println("1kong");
UserService service = new UserServiceImpl();
User u = service.findUserByUserId(UserId);
fileName = u.getUser_photo();
}else {
System.out.println("no kong");
fileName = UserId+"."+fileNameExt;
File f = new File(this.getServletContext().getRealPath("/upload/user"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/user/"+ fileName);
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
int userId = Integer.valueOf(request.getParameter("userId"));
String nickname = su.getRequest().getParameter("nickName");
String username = su.getRequest().getParameter("name");
String passWord = su.getRequest().getParameter("passWord");
String sex = su.getRequest().getParameter("sex");
String vip="0";
}
package servlet.user;
@WebServlet("/regServlet")
public class RegServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
HttpSession session = request.getSession();
UserService service = new UserServiceImpl();
String userName = request.getParameter("userName").trim();
String userPassword = request.getParameter("userPassword").trim();
String enUserPassword = request.getParameter("enUserPassword".trim());
String verifycode = request.getParameter("verifycode".trim());
String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER");
session.removeAttribute("CHECKCODE_SERVER");//确保验证一次性
if (!verifycode.equalsIgnoreCase(checkcode_server)){
request.setAttribute("msg","验证码错误");
request.setAttribute("userName",userName);
request.setAttribute("userPassword",userPassword);
request.setAttribute("enUserPassword",enUserPassword);
request.getRequestDispatcher("reg.jsp").forward(request,response);
return;
}else {
if (!userPassword.equals(enUserPassword)) {
request.setAttribute("msg","密码确认错误");
request.setAttribute("userName",userName);
request.setAttribute("userPassword",userPassword);
request.setAttribute("enUserPassword",enUserPassword);
request.getRequestDispatcher("reg.jsp").forward(request,response);
return;
}else {
CategoryService service = new CategoryServiceImpl();
List<Category> flist = service.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service.findCategoryListByName("child");
request.setAttribute("clist", clist);
ProductService service1 = new ProductServiceImpl();
List<Product> newProductList = service1.findProductTimeSort();
List<Product> newProductList2 = service1.findProductSalesSort();
request.setAttribute("newProductList", newProductList);
request.setAttribute("newProductList2", newProductList2);
//查询购物车数量
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
String cartCount = "0";
CartService service2 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service2.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.address;
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = userId + "." + fileName;
File f = new File(this.getServletContext().getRealPath("/upload/user"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/user/" + fileName);
} catch (SmartUploadException e) {
e.printStackTrace();
}
UserService service = new UserServiceImpl();
service.updatePhotoById(userId,fileName);
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('更新成功!');");
out.write("location.href='toMyInfoServlet'");
out.write("</script>");
out.close();
}else {
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.verifycode;
/**
* 验证码
*/
@WebServlet("/indexServlet")
public class IndexServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
CategoryService service = new CategoryServiceImpl();
List<Category> flist = service.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service.findCategoryListByName("child");
request.setAttribute("clist", clist);
ProductService service1 = new ProductServiceImpl();
List<Product> newProductList = service1.findProductTimeSort();
List<Product> newProductList2 = service1.findProductSalesSort();
request.setAttribute("newProductList", newProductList);
request.setAttribute("newProductList2", newProductList2);
//查询购物车数量
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
String cartCount = "0";
CartService service2 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service2.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
request.getRequestDispatcher("mygxin.jsp").forward(request, response);
}else {
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.product;
@WebServlet("/addProductServlet")
public class AddProductServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String fileName = "";
SmartUpload su= new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
try {
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
String id = String.valueOf(System.currentTimeMillis());
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = id+"."+fileName;
File f = new File(this.getServletContext().getRealPath("/upload/product"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
int product_quantity = Integer.valueOf(count);
int product_id = p.getProduct_id();
Order order = new Order(System.currentTimeMillis() +""+ user.getUser_id(),user.getUser_id(),totalPrice,new Date(),"0","0","0",product_id,product_quantity);
ProductService service5 = new ProductServiceImpl();
Product product = service5.findProductById(product_id);
order.setProduct_name(product.getProduct_name());
order.setProduct_photo(product.getProduct_photo());
order.setProduct_price(product.getProduct_price());
request.setAttribute("order",order);
OrderService service4 = new OrderServiceImpl();
service4.addOrder(order);
}
// String product_quantity = count;
// String order_id = order.getOrder_id();
// int product_id = p.getProduct_id();
//
// OrderList orderList = new OrderList(order_id,product_id,product_quantity);
//
// OrderListService service5 = new OrderListServiceImpl();
// service5.addOrderList(orderList);
request.getRequestDispatcher("order.jsp").forward(request, response);
}else {
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package servlet.product;