首页 > 编程语言 >Java书城项目Sevelet基本逻辑介绍(增删改查)

Java书城项目Sevelet基本逻辑介绍(增删改查)

时间:2023-03-24 23:59:10浏览次数:43  
标签:Java String req 改查 Sevelet connection books new Users

书城项目

登录

dao

接口:UserDao

Users login(String username,String password);

实现:UserDaoImpl

QueryRunner queryrunner = new QueryRunner();
Connection connection = createConnection();
Users query = null;
String sql = "select * from users where username=? and password=?";
query = queryrunner.query(connection,sql,new BeanHandler<>(Users.class),username,password);
return query;

services

接口:UserServices 同UserDao代码一致

实现:UserServicesImpl

UserDao userdao = new UserDaoImpl();
return userdao.login(username,password)

servlet

UserServlet:service

req.setCharacterEncoding("e-8");
String reqkey = req.getParameter("reqkey");
Method method= getClass().getDeclaredMethod(reqkey,HttpServletRequest.class,HttpServletResonse.class);
method.setAccessible(true);
method.invoke(this,req,resp);

UserServlet:tologin

//接收数据
String username = req.getParameter("username");
String password = req.getParameter("password");

//调取方法
UserServicesImpl userservices = new UserServicesImpl();
User users = userservices.login(username,password);

//根据结果跳转页面
if(users==null){
    req.getRequestDispatcher("/pages/user/login.html").forword(req,resp);
}else{  
    req.getRequestDispatcher("/pages/user/login_success.html").forword(req,resp);
}

注册

dao

接口:UserDao

boolean regist(Users users);

实现:UserDaoImpl

QueryRunner queryrunner = new QueryRunner();
Connection connection = createConnection();
int i = 0;
String sql = "insert into users values(null,?,?,?)";
i=queryRunner.update(connection,sql,user.getUsername(),user.getPassword(),user.getEmail);
return i;

services

接口:UserServices 同UserDao代码一致

实现:UserServicesImpl

return userdao.regist(Users);

servlet

UserServlet:toregist

//接收数据
Users users = new Users();
resp.setContentType("text/html:charset=utf-8");
PrintWriter writer = req.getWriter();
 Map<String, String[]> parameterMap = req.getParameterMap();
BeanUtils.populate(users,parameterMap);

//调取方法
boolean b = userservices。regist(Users)
    
//根据结果跳转页面
    if(b){
        writer.writer("<script type='text/javascript'>alert('注册成功');location.href='/pages/user/regist_success.html'</script>");
    }else{
        writer.writer("<script type='text/javascript'>alert('注册失败');location.href='/pages/user/regist.html'</script>");
    }   
    

查询图书

dao

接口:BookDao

List<Books> selectbooks();

实现:BookDaoImpl

QueryRunner queryrunner = new QueryRunner();
Connection connection = createConnection();
 List<Books> booksList = null;
String sql = "select * from books";
booksList = queryRunner.query(connection,sql,new BeanListHandle<>(Books.class));

services

接口:BookServices 同BookDao

实现:BookServicesImpl

BookDaoImpl bookDao = new BookDaoImpl();
return  bookDao.selectbooks();

servlet

BookServlet:selectbooks

List<Books> selectbooks = bookServices.selectbooks();

添加图书

dao

接口:BookDao

int insertbook(Books books);

实现:BookDaoImpl

Connection connection = createConnection();
int i = 0;
String sql = "insert into books values(null,?,?,?,?,?,?)";
i = queryRunner.update(connection,sql,books.getTitle(),books.getAuthor(), books.getPrice(), books.getSales(), books.getStock(), "/static/uploads/huozhe.jpg")
return i;

services

接口:BookServices 同BookDao

实现:BookServicesImpl

 return bookDao.insertbook(books);

servlet

BookServlet:addbooks

Books book = new Books();
Map<String, String[]> parameterMap = req.getParameterMap();
BeanUtils.populate(book,parameterMap);
int i = bookServices.insertbook(book);
if(i>0){
    resp.sendRedirect("/pages/manager/bookServlet?reqkey=selectbooks");
}else{
    resp.sendRedirect("/pages/manager/book_add.html");
}

标签:Java,String,req,改查,Sevelet,connection,books,new,Users
From: https://www.cnblogs.com/deyo/p/17253717.html

相关文章

  • 闭关学java第三天
    包机制包机制语法格式为:packagepkg1[.pak2[.pak3...]]一般利用公司域名倒置作为包名;为了能够使用某个包的成员,我们需要再java程序中明确导入该包,使用“import......
  • SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显
    文章目录本文写作动机XML视图元素的文档显示控制器里JavaScript代码的API文档JavaScript控制器代码里方法的自动提示和补全功能UI5ExplorerXML视图里元素名......
  • JAVAWEB-北京地铁查询系统(Servlet+JSP+CSS+SQL 实现)部分代码
    #这是我与伙伴合作完成的练习项目@小彭先森页面展示请见我的上一篇博客:https://www.cnblogs.com/rsy-bxf150/p/17253623.html完整代码请看我的GitHub:https://github.co......
  • 地铁最终javaweb
    关于在编写地铁查询系统主界面chaxun-01.jsp中出现了methodget与post中所产生的问题(get能传值,post不能传值) 在编写中我发现了method中用get可以把用户输入的......
  • 编写一个方法,实现两个数组的合并,并按升序将合并后的数组返回---Java
    packagepractice.people.apple;/**编写一个方法,合并给定的数组,并以升序返回合并后的数组**/importjava.util.Arrays;publicclassArrayMerge{ publicstat......
  • Java的诞生
    JAVA的初步认识JAVA帝国的诞生1972年C诞生贴近硬件:运行极快,效率极高操作系统:编泽器,数据库,网络系统等。指针和内存管理1982年C++诞生面向对象兼容C图像领域......
  • Java学习笔记(九)网络编程
    网络编程概述计算机网络:计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和......
  • JAVAWEB-北京地铁查询系统(Servlet+JSP+CSS+SQL 实现)
    Servlet+JSP+CSS+SQL实现完善的地铁系统页面#这是我和伙伴合作完成的练习项目#代码我将放在下一篇博客功能介绍:1.地铁线路查询:选择线路,输出线路上的站点名。2.地铁站......
  • java学习日记20230325-抽象类
    抽象类:当父类的某些方法需要声明,但是又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类!所谓抽象方法,就是没有实现的方法;当一个类中存在抽象方法时,需要将......
  • Java面试-基础篇(一)6
    synchronized与ReentrantLock的区别说到synchronized与ReentrantLock,我们都知道,他们是java并发编程很重要的技术。他们可以帮助我们保证编程过程中数据的正确性,也就是我们......