javaweb结束篇(书城项目)

首先小编总结一下javaweb学习的一些经验和一些开发的收获!

小编的学习资料来自尚硅谷的javaweb微博视频,资料来自其官方的的官网,小编就不发了,需要的友友可以去官方下载!下面是小编的一些经验分享,首先来说小编自学java差不多有5个月了,从javase,mysql,jdbc,到html,css,js(juery,ajax).javaweb基础(servlet+tomcat),然后是跟着视频做了书城项目,收获很多,也可以说是为以后开发积累基础,接下来小编将会进入的开发框架的学习同时也会继续写博客分享自己的收获!

进入到javaee的初级阶段对小编来说可谓是困难重重,在这段时间小编有时候会改好几天的bug,尽管是跟着视频做也可能会报错,因为一些版本不同的原因,但是友友们也不要害怕出错,慢慢改在网上找资源自己解决也是可以丰富自己的经验的,同时在看视频的时候一定要跟着做,写代码,小编在最开始的时候敲代码的速度很慢,但是到现在小编的基本代码速度有了很大的提高,甚至还可以不看键盘敲代码,这是基础打字速度的提高!

然后是代码思想的提升,跟着视频做项目,说实话对于小编来说这个项目是第一个算是比较完整的BS架构的项目,小编也学到了一些开发的知识和技巧的东西,也学会了众多jar的使用,但是它不会对整体的开发代码的水平提高多少,因为很多东西始终不是小编自己独立写的而是跟着视频做的,视频中的讲解是非常细致的,这让学习它的人有更好的立即,同时也是体会到了分层分模块写代码的好处,知道了接口,工具类,封装,继承,多态在一个项目中的实际使用,算的上是小编对开发的一次入门接触,小编在此次开发中学会了自己写封装使用工具类,以及javaweb的三层结构和之间的关系,小编也是自己把订单模块给自己完成了,理解了浏览器和服务器之间的交互过程,以及遇见了很多的网页错误提示和解决办法,熟悉了断点调试,充分的锻炼了小编的改bug的能力,以及对开发工具的使用,整体代码不算太多,项目也是比较low的但是对于初学者来说是很好的开发入门继承。所有若是有和小编一样的友友推荐跟着做一做,相信你也会收获很大!但是做完了也不要太深究代码,主要是学的其开发的思想,而不是其中的实际代码!

下面是书城项目的实际展示

      1.用户模块

  watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16

  

package com.java.web;import com.google.gson.Gson;import com.java.polo.User;import com.java.service.impl.Userservice;import com.java.service.impl.Userserviceimpl;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;public class Userservlet extends Baseservlet {    private Userservice userservice=new Userserviceimpl();    protected void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //处理登录业务        // 1、获取请求的参数        String username = req.getParameter("username");        String password = req.getParameter("password");        // 调用 userService.login()登录处理业务        User loginUser = userservice.login(new User(null, username, password, null));        // 如果等于 null,说明登录 失败!        if (loginUser == null) {            //把错误的信息存放到域之中            req.setAttribute("msg","用户名或密码错误!");            req.setAttribute("username",username);            // 跳回登录页面            req.getRequestDispatcher("/pages/user/login.jsp").forward(req, resp);        } else {            // 登录 成功            //保存用户登录的信息             req.getSession().setAttribute("user",loginUser);            //跳到成功页面 login_success.jsp            req.getRequestDispatcher("/pages/user/login_success.jsp").forward(req, resp);        }    }    protected void regist(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //处理注册业务        // 1、获取请求的参数        String username= req.getParameter("username");        String password=req.getParameter("password");        String email=req.getParameter("email");        String code=req.getParameter("code");//验证码        //获取session的验证码        String toke=(String) req.getSession().getAttribute("KAPTCHA_SESSION_KEY");        //马上删除        req.getSession().removeAttribute("KAPTCHA_SESSION_KEY");        // 2、检查 验证码是否正确 === 写死,要求验证码为:abcde        if( toke!=null&&toke.equalsIgnoreCase(code )){            // 3、检查 用户名是否可用            if(userservice.existsusername(username)){                //把错误的信息保存在域之中                req.setAttribute("msg","用户名以存在");                req.setAttribute("username",username);                req.setAttribute("email",email);                //不可用                System.out.println("用户名"+username+"已存在");                req.getRequestDispatcher("/pages/user/regist.jsp").forward(req,resp);            }else{                // 可用                // 调用 Sservice 保存到数据库                userservice.registUser(new User(null,username,password,email));                // 跳到注册成功页面 regist_success.jsp                req.getRequestDispatcher("/pages/user/regist_success.jsp").forward(req,resp);            }        }else{            //把错误的信息保存在域之中            req.setAttribute("msg","验证码错误");            req.setAttribute("username",username);            req.setAttribute("email",email);            // 跳回注册页面            System.out.println("验证码错误!验证码是:"+code);            req.getRequestDispatcher("/pages/user/regist.jsp").forward(req,resp);        }    }    //注销    protected void Logout(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         //销毁Session        req.getSession().invalidate();        resp.sendRedirect(req.getContextPath());    }    //用户名验证    protected void Ajaxusernameexits(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        System.out.println("ajax请求开始");         //获取参数      String username= req.getParameter("username");      //查看是否可以使用       boolean falg= userservice.existsusername(username);       //返回得结果        Map<String,Object> result=new HashMap<>();        result.put("usernameextis",falg);        //封装成json对象        Gson gson=new Gson();        String json= gson.toJson(result);        resp.getWriter().write(json);    }}

2.后台模块

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16

package com.java.web;import com.java.polo.Page;import com.java.polo.impl.Book;import com.java.service.impl.BookServiceimpl;import com.java.service.impl.Bookservice;import com.java.util.Webutil;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.List;public class Bookservlet extends Baseservlet{    private Bookservice bookservice=new BookServiceimpl();    //添加    protected void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取请求数据        Book book= Webutil.copyparamTobean(req.getParameterMap(),new Book());        //添加方法        bookservice.addBook(book);        int pageNo=Webutil.praseInt(req.getParameter("pageNo"),0);        pageNo+=1;        //返回查询页面//        req.getRequestDispatcher("").forward(req,resp);        resp.sendRedirect(req.getContextPath()+"/manager/bookservlet?action=page&pageNo="+pageNo);    }    //删除    protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取请求数据       String id=req.getParameter("id");        //删除方法        int i= Integer.parseInt(id);        bookservice.deleteBookById(i);        //返回查询页面        resp.sendRedirect(req.getContextPath()+"/manager/bookservlet?action=page&pageNo="+req.getParameter("pageNo"));    }    //修改    protected void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取请求数据        Book book= Webutil.copyparamTobean(req.getParameterMap(),new Book());        //修改方法        bookservice.upDateBook(book);        //返回查询页面        resp.sendRedirect(req.getContextPath()+"/manager/bookservlet?action=page&pageNo="+req.getParameter("pageNo"));    }    //列表    protected void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         //查询全部数据        List<Book> books = bookservice.queryBooks();        //保存到域中        req.setAttribute("books",books);        //请求转发        req.getRequestDispatcher("/pages/manager/book_manager.jsp").forward(req,resp);    }    protected void getBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {             //获取请求编号        String id= req.getParameter("id");               //查询          int i=Integer.parseInt(id);         Book book= bookservice.queryBookById(i);            //保存信息        req.setAttribute("book",book);             //转发        req.getRequestDispatcher("/pages/manager/book_edit.jsp").forward(req,resp);    }    //分页    protected void page(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {             //获取请求参数       /* if(req.getParameter("pageNo")==null){            int pageNo=Integer.parseInt("1");            int pageSize=Integer.parseInt("4");            //调用分页方法            Page<Book> page=bookservice.page(pageNo,pageSize);            //保存page对象            req.setAttribute("page",page);            //请求转发            req.getRequestDispatcher("/pages/manager/book_manager.jsp").forward(req,resp);        }else{            int pageNo=Integer.parseInt(req.getParameter("pageNo"));            int pageSize=Integer.parseInt(req.getParameter("pageSize"));            //调用分页方法            Page<Book> page=bookservice.page(pageNo,pageSize);            //保存page对象            req.setAttribute("page",page);            //请求转发            req.getRequestDispatcher("/pages/manager/book_manager.jsp").forward(req,resp);        }*/        int pageNo=Webutil.praseInt(req.getParameter("pageNo"),1);        int pageSize=Webutil.praseInt(req.getParameter("pageSize"),4);        //调用分页方法        Page<Book> page=bookservice.page(pageNo,pageSize);        page.setUrl("manager/bookservlet?action=page");        //保存page对象        req.setAttribute("page",page);        //请求转发        req.getRequestDispatcher("/pages/manager/book_manager.jsp").forward(req,resp);    }}

 

package com.java.web;import com.java.polo.Cart;import com.java.polo.Oder;import com.java.polo.OderItem;import com.java.polo.User;import com.java.service.impl.Oderservice;import com.java.service.impl.Oderserviceimpl;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.List;public class Odersevlet extends Baseservlet{    private Oderservice oderservice=new Oderserviceimpl();    protected void saveOder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {           //获取购物车       Cart cart= (Cart) req.getSession().getAttribute("cart");            //获取用户id        User user=(User)  req.getSession().getAttribute("user");       if(user==null){           req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp);           return;       }        Integer userid= user.getId();        //生成订单            String oderId=oderservice.createOder(cart,userid);            req.getSession().setAttribute("orderid",oderId);            //请求转发            resp.sendRedirect(req.getContextPath()+"/pages/cart/checkout.jsp");    }    protected void showmyoder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取购物车        Cart cart= (Cart) req.getSession().getAttribute("cart");        //获取用户id        User user=(User)  req.getSession().getAttribute("user");        if(user==null){            req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp);            return;        }        Integer userid= user.getId();        //获取订单信息        List<Oder>oder=oderservice.showalloders(userid);        req.getSession().setAttribute("oders",oder);        resp.sendRedirect(req.getContextPath()+"/pages/order/order.jsp");    }    //查到用户点击的订单    protected void reciworder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {           String orderid= req.getParameter("orderid");           Oder oder = oderservice.showoneoder(orderid);           req.getSession().setAttribute("oder",oder);        resp.sendRedirect(req.getContextPath()+"/pages/user/showorder.jsp");    }    protected void jieshouoder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          //获取订单号           String orderid= req.getParameter("orderid");            //调用方法             oderservice.chengoder(2,orderid);             Oder oder = oderservice.showoneoder(orderid);             //回到原来得页面        req.getSession().setAttribute("oder",oder);        resp.sendRedirect(req.getContextPath()+"/pages/user/showorder.jsp");    }    //manager模块    //查看所有得订单    protected void Managershowalloder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取所有得订单        List<Oder> oders=oderservice.showallOder();        //保存在域之中         req.setAttribute("allorder",oders);         req.getRequestDispatcher("/pages/manager/order_manager.jsp").forward(req,resp);    }    //查看个别订单    protected void Managershowoneeoder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {       String oderid=req.getParameter("id");        //获取单个得订单项        OderItem oder=oderservice.showOderItem(oderid);        //获取单个得订单        Oder oder1=oderservice.showoneoder(oderid);        //保存在域之中        req.setAttribute("allorder",oder);        req.setAttribute("oder1",oder1);        req.getRequestDispatcher("/pages/manager/showalloder.jsp").forward(req,resp);    }    //发货    protected void sendthisoder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取订单号        String orderid= req.getParameter("id");        //调用方法        oderservice.chengoder(1,orderid);        Oder oder = oderservice.showoneoder(orderid);        //回到原来得页面        req.setAttribute("oder",oder);        req.getRequestDispatcher("/pages/manager/sendorderseccss.jsp").forward(req,resp);    }}

3.购物车模块

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16 

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR5Lmf5LiN5Lya5pWy5Luj56CB5ZGA,size_20,color_FFFFFF,t_70,g_se,x_16

 

package com.java.web;import com.java.polo.Cart;import com.java.polo.CartItem;import com.java.polo.impl.Book;import com.java.service.impl.BookServiceimpl;import com.java.service.impl.Bookservice;import com.java.util.Webutil;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class Cartservlet extends Baseservlet{    private Bookservice bookservice=new BookServiceimpl();    protected void addItems(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {       //获取编号        int id= Webutil.praseInt(req.getParameter("id"),0);        //调用方法        Book book=bookservice.queryBookById(id);        CartItem cartItem=new CartItem(book.getId(),book.getName(),1,book.getPrice(),book.getPrice());      //将购物车放入Session中 如果有就直接使用 如果没有就创建购物车        Cart cart=(Cart)req.getSession().getAttribute("cart");       if(cart==null){           cart=new Cart();           req.getSession().setAttribute("cart",cart);       }        cart.addItem(cartItem);        req.getSession().setAttribute("lastname",cartItem.getName());        //获取原来的地址        String referer = req.getHeader("Referer");        //重定向到原来的商品页面        resp.sendRedirect(referer);    }    //删除商品    protected void deleteItems(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取编号        int id=Webutil.praseInt(req.getParameter("id"),0);        //获取购物车        Cart cart =(Cart)req.getSession().getAttribute("cart");        if(cart!=null){            cart.deleteItem(id);            //获取原来的地址            String referer = req.getHeader("Referer");            //重定向到原来的商品页面            resp.sendRedirect(referer);        }    }   //清空    protected void clearcart(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取购物车        Cart cart =(Cart)req.getSession().getAttribute("cart");        if(cart!=null){           cart.Clear();            //获取原来的地址            String referer = req.getHeader("Referer");            //重定向到原来的商品页面            resp.sendRedirect(referer);        }    }    //修改商品数量    protected void updatecount(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         int id=Webutil.praseInt(req.getParameter("id"),0);         int count=Webutil.praseInt(req.getParameter("count"),0);        //获取购物车        Cart cart =(Cart)req.getSession().getAttribute("cart");        if(cart!=null){            cart.updateCount(id,count);            //获取原来的地址            String referer = req.getHeader("Referer");            //重定向到原来的商品页面            resp.sendRedirect(referer);        }    }}
package com.java.web;import com.java.polo.Page;import com.java.polo.impl.Book;import com.java.service.impl.BookServiceimpl;import com.java.service.impl.Bookservice;import com.java.util.Webutil;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class ClientBookServlet extends Baseservlet {    private Bookservice bookservice=new BookServiceimpl();    protected void page(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取请求参数        int pageNo= Webutil.praseInt(req.getParameter("pageNo"),1);        int pageSize=Webutil.praseInt(req.getParameter("pageSize"),4);        //调用分页方法        Page<Book> page=bookservice.page(pageNo,pageSize);        //保存page对象        req.setAttribute("page",page);        page.setUrl("client/bookservlet?action=page");        //请求转发        req.getRequestDispatcher("/pages/client/index.jsp").forward(req,resp);    }    protected void pageByPrice(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //获取请求参数        int pageNo= Webutil.praseInt(req.getParameter("pageNo"),1);        int pageSize=Webutil.praseInt(req.getParameter("pageSize"),4);        int min=Webutil.praseInt(req.getParameter("min"),0);        int max=Webutil.praseInt(req.getParameter("max"),100000);        //调用分页方法        Page<Book> page=bookservice.pageByPrice(pageNo,pageSize,min,max);       //带上价格区间        StringBuilder sb= new StringBuilder("client/bookservlet?action=pageByPrice");        //如果有价格参数就追加在后面         if(req.getParameter("min")!=null){             sb.append("&min=").append(req.getParameter("min"));         }        if(req.getParameter("max")!=null){            sb.append("&max=").append(req.getParameter("max"));        }        //保存page对象        req.setAttribute("page",page);        page.setUrl(sb.toString());        //请求转发        req.getRequestDispatcher("/pages/client/index.jsp").forward(req,resp);    }}

整体实现了图书的增删改,用户的登录注册,图书的分页,管理员对订单的发送用户对图示的购买生成订单以及用户对订单的签收

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: JavaWeb网上书城项目源码是一个基于Java语言的网上书城销售系统代码,它具有网站前后端技术的开发和运用,可以帮助企业实现电子商务销售模式。 这个项目源码主要分为前端页面、后端服务以及数据库三个部分。前端使用了HTML、CSS、JavaScript等技术,通过页面设计和用户交互,实现用户浏览商品、购买商品、选购商品等操作。后端服务方面,使用了Java语言和Spring框架,实现了用户管理、商品管理、订单管理、支付管理等功能,并提供了RESTful API接口。数据库采用了MySQL数据库,存储了所有的数据信息,包括用户信息、商品信息、订单信息等。 该项目源码的优点在于可扩展性强,同时提供了灵活的API接口,可以方便地进行接口开发和数据交互。此外,代码具有较高的可复用性和可维护性,易于进行二次开发和定制化。 总而言之,该JavaWeb网上书城项目源码可以作为电商网站开发的参考资料,可以帮助企业快速搭建起一个功能完整、运行稳定的在线销售平台。但是,需要注意的是,该项目源码只是科技之星出品的一个学习教程项目,不保证其完整性和可用性,仅供学习和研究之用。 ### 回答2: 我目前并不掌握Javaweb网上书城项目的源码。不过,从我的经验来看,Javaweb网上书城项目通常被设计为一个包含各种功能的复杂系统。在这个系统中,通常有图书展示、搜索、购买、评论、用户管理、订单管理等诸多功能。为了实现这些功能,通常会使用数据库、服务端脚本、前端技术等多种技术组合。如果要实现一个强大、健壮的Javaweb网上书城项目,除了有扎实的编程技能之外,还需要充分的时间和精力来进行规划、设计、编码、测试、上线等多个环节。当然,有了优秀的架构师和开发团队,这个过程可以更为顺畅和高效。总的来说,Javaweb网上书城项目源码代表着互联网时代下的高科技产品,它促进了图书销售和阅读的数字化转型,同时也是一个涉及多个技术领域和众多用户需求的综合性项目。 ### 回答3: JavaWeb网上书城项目源码是一份基于Java语言开发的完整网站源代码,旨在为用户提供一个完整的在线书城购物体验。该项目具有完善的前端设计、高效的后端架构和优质的用户体验,可以为用户提供安全便捷的在线购书平台。 该项目实现了用户注册、登录、浏览、购物车、订单生成、支付、收货等功能,且所有的数据都存储在MySql数据库中,保证了数据的安全性和准确性。 在技术实现上,JavaWeb网上书城项目采用了JSP、Servlet、EL表达式、Filter、Listener等JavaWeb组件,使项目具有良好的可扩展性和可维护性。同时,该项目采用MVC架构,将用户界面、数据处理和应用逻辑分离,使代码更加清晰、简洁。 除此之外,JavaWeb网上书城项目还应用了Spring、MyBatis、Tomcat等技术,使项目更加高效、稳定和可靠。同时,使用Bootstrap、jQuery等第三方库实现了响应式设计,为用户提供了优质的跨平台使用体验。 总的来说,JavaWeb网上书城项目源码是一个优秀的电商平台源代码,具有良好的代码风格、可读性和可维护性,可以作为学习JavaWeb开发和电商平台搭建的重要参考。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值