赞
踩
这是一个基于JavaWeb的在线购物商城系统。
主要用 servlet+jsp 实现,数据库用的 mysql。
你是否还在被课程设计而折磨呢?当你看到这篇文章也许会给你带来帮助!!!
下面一张图告诉你,系统有哪些功能!
如果需要完整源代码,可以直接 跳转到文章尾部
这就是一个简单的登录页面,左边是一个轮播图,右边是一个输入信息的表单!
可以选择不同身份进行登录。
在用户登录之后,便可以进入到这个页面里面了。
用户可以通过商品名称进行查询,也可以通过左边的商品分类按钮进行分类查询商品信息。
用户也可以在这里修改信息,查看自己的收藏等信息!
这里是用户的个人信息页面,用户可以在这里面查看自己的信息,也可以进行修改。
关键是可以进行修改密码!!!
这里是用户个人的购物车页面,可以在这里面进行商品结算,也可以修改购物车中商品的数量。
这里是进入到了商品订单结算页面,在这里可以看出来这次订单的商品信息,以及购买人的信息。
这里就是进入到了管理员的视角,
可以看到所有的商品信息,并且可以对商品进行管理,比如增删改查
这里面可以进行商品发布!
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!--默认配置 --> <default-config> <!--initialPoolSize:连接池初始化时创建的连接数,default : 3,取值应在minPoolSize与 maxPoolSize之间--> <property name="initialPoolSize">10</property> <!-- maxIdleTime:连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接。如果为0,则永远不会断开连接,即回收此连接。default : 0 单位 s --> <property name="maxIdleTime">30</property> <!--maxPoolSize:连接池中拥有的最大连接数,如果获得新连接时会使连接总数超过这个值则不会再获取新连接,而是等待其他连接释放,所以这个值有可能会设计地很大,default : 15--> <property name="maxPoolSize">100</property> <!--minPoolSize:连接池保持的最小连接数,default : 3--> <property name="minPoolSize">10 </property> <!--maxStatements:连接池为数据源缓存的PreparedStatement的总数。由于PreparedStatement属于单 个Connection,所以这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement 来计算--> <property name="maxStatements">200</property> </default-config> <!--配置连接池oracle --> <!-- 配置mysql--> <named-config name="mysql-book"> <!--mysql需要使用的驱动类--> <property name="driverClass">com.mysql.jdbc.Driver</property> <!--连接语句--> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/mydemo1?useUnicode=true&characterEncoding=utf8</property> <!--mysql的用户名--> <property name="user">root</property> <!--我的mysql的密码:根据自己机器进行修改--> <property name="password">123456</property> <!--连接池初始化时创建的连接数:10--> <property name="initialPoolSize">10</property> <!--maxIdleTime:连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接。--> <property name="maxIdleTime">30</property> <!--连接池中拥有的最大连接数--> <property name="maxPoolSize">100</property> <!--连接池保持的最小连接数--> <property name="minPoolSize">10</property> <!--连接池为数据源缓存的PreparedStatement的总数--> <property name="maxStatements">200</property> </named-config> </c3p0-config>
package action; import bean.User; import biz.UserBiz; import dao.UserDao; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; @WebServlet("/user.let") public class UserServlet extends HttpServlet { // 构建UserBiz的对象 UserBiz userBiz = new UserBiz(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { HttpSession session = req.getSession(); req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); //1.判读用户请求的类型为login String method = req.getParameter("type"); switch (method) { case "login": // 从 login.html中 拿 账号,密码等数据 String name = req.getParameter("name"); String pwd = req.getParameter("pwd"); String option = req.getParameter("option"); int temp = -1; // 调用UserBiz的getUser方法,根据 网页中 输入的账号密码,获取相应对象 User user = userBiz.getUser(name,pwd); if(option.equals("option1")){ // 用户登录 if (user == null) { out.println("<script>alert('用户名或密码不存在');location.href = 'login.html';</script>"); }else { session.setAttribute("user",user);//user-->Object req.getRequestDispatcher("/UserShow").forward(req, resp); } }else if(option.equals("option2")){ // 管理员登录 try { temp = new UserDao().getManage(name,pwd); } catch (SQLException throwables) { throwables.printStackTrace(); } if (temp == 1){ out.println("<script>alert('用户名或密码不存在');location.href = 'login.html';</script>"); }else{ req.getRequestDispatcher("/index").forward(req, resp); } } break; case "register" : // 从 login.html中 拿 账号,密码等数据 String name1 = req.getParameter("name"); String pwd1 = req.getParameter("pwd"); String phone = req.getParameter("phone"); String address = req.getParameter("address"); UserDao userDao = new UserDao(); try { userDao.setUser(name1,pwd1,"imgs/touxiang.jpg",phone,address); } catch (SQLException throwables) { throwables.printStackTrace(); } out.println("<script>alert('注册成功');location.href = 'login.html';</script>"); break; } } }
下面是完整代码的资料!如果项目在部署环节出问题了,可以联系我远程部署,一直在线!
也可以直接 点我跳转到项目完整代码
链接:https://pan.baidu.com/s/1nlvozPOMFZZ_yAtGqNd0ww?pwd=baoz
提取码:baoz
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。