当前位置: 首页 > news >正文

做一家开发网站的公司简介网站如何做后台

做一家开发网站的公司简介,网站如何做后台,广告投放数据分析报告,网站建设所需基本资料文章目录 数据库表的设计和准备数据环境搭建前端页面编写后端代码实现后端代码目录dao层servicewebpojoUtils 数据库表的设计和准备数据 环境搭建 在pom.xml中配置依赖#xff08;logback、mybatis、mysql、servlet#xff09; 注意引入tomcat 前端页面编写 !DOCTYPE … 文章目录 数据库表的设计和准备数据环境搭建前端页面编写后端代码实现后端代码目录dao层servicewebpojoUtils 数据库表的设计和准备数据 环境搭建 在pom.xml中配置依赖logback、mybatis、mysql、servlet 注意引入tomcat 前端页面编写 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title银行账户转账/title /head bodyform action/bank/transfer methodpost转出账户input typetext namefromActnobr转入账号input typetext nametoActnobr转账金额input typetext namemoneybrinput typesubmit value转账/form /body /html后端代码实现 后端代码目录 dao层 //AccountDaoImpl package com.example.bank.dao.impl;import com.example.bank.dao.AccountDao; import com.example.bank.pojo.Account; import com.example.bank.utils.SqlSessionUtil; import org.apache.ibatis.session.SqlSession;public class AccountDaoImpl implements AccountDao {Overridepublic Account selectByActno(String actno) {SqlSession sqlSession SqlSessionUtil.openSession();Account account (Account) sqlSession.selectOne(account.selectByActno, actno);sqlSession.close();return account;}Overridepublic int updateByActno(Account act) {SqlSession sqlSession SqlSessionUtil.openSession();int count sqlSession.update(account.updateByActno,act);sqlSession.commit();sqlSession.close();return count;} }package com.example.bank.dao;import com.example.bank.pojo.Account;//dao对象中的任何一个方法和业务不挂钩没有任何业务逻辑在里面 //DAO中的方法就是做CRUD的 public interface AccountDao {//根据账号查询账户信息Account selectByActno(String actno);//更新账户信息int updateByActno(Account act); }dao层是三层架构的最底层是数据访问层主要是连接MySQL并做数据的CRUD不包含任何的逻辑 service //AccountServiceImpl package com.example.bank.service.impl;import com.example.bank.dao.AccountDao; import com.example.bank.dao.impl.AccountDaoImpl; import com.example.bank.exceptions.MoneyNotEnoughException; import com.example.bank.exceptions.TransferException; import com.example.bank.pojo.Account; import com.example.bank.service.AccountService;public class AccountServiceImpl implements AccountService {private AccountDao accountDao new AccountDaoImpl();Overridepublic void transfer(String fromActno, String toActno, double money) throws MoneyNotEnoughException, TransferException {//1、判断转出账户的余额是否充足Account fromAct accountDao.selectByActno(fromActno);if (fromAct.getBalance() money){//2、如果转出账户余额不足提示用户throw new MoneyNotEnoughException(对不起您的余额不足);}//3、如果转出账户余额充足更新转出账户余额update//先更新内存中java对象account的余额Account toAct accountDao.selectByActno(toActno);fromAct.setBalance(fromAct.getBalance() - money);toAct.setBalance(toAct.getBalance() money);int count accountDao.updateByActno(fromAct);//4、更新转入账户余额updatecount accountDao.updateByActno(toAct);if (count ! 2){throw new TransferException(转账异常未知原因);}}}//AccountService package com.example.bank.service;import com.example.bank.exceptions.MoneyNotEnoughException; import com.example.bank.exceptions.TransferException;public interface AccountService { // param fromActno 转出账号 // param toActno 转入账号 // param money 转账金额void transfer(String fromActno, String toActno, double money) throws MoneyNotEnoughException, TransferException; }service层是业务逻辑层主要是对数据进行逻辑的处理页面的改变等。这里的逻辑主要就是对余额先进行能否转移的判断其次是对账户余额的转移改变最后就是对不同错误的出现返回不同的错误类型 web //AccountServlet package com.example.bank.web;import com.example.bank.exceptions.MoneyNotEnoughException; import com.example.bank.exceptions.TransferException; import com.example.bank.service.AccountService; import com.example.bank.service.impl.AccountServiceImpl;import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; WebServlet(/transfer) public class AccountServlet extends HttpServlet {//为了让这个对象在其他方法中也可以用private AccountService accountService new AccountServiceImpl();Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws IOException{//获取表单数据String fromActno request.getParameter(fromActno);String toActno request.getParameter(toActno);double money Double.parseDouble(request.getParameter(money));try {//调用servlet的转账方法完成转账。调业务层accountService.transfer(fromActno,toActno,money);//程序能够走到这里表示转账一定成功了//调用view完成展示结果response.sendRedirect(request.getContextPath() /success.html);} catch (MoneyNotEnoughException e) {response.sendRedirect(request.getContextPath() /error1.html);} catch (TransferException e) {response.sendRedirect(request.getContextPath() /error2.html);}} }展示层获取表单数据以及针对不同情况错误的出现展示不同的页面信息。 pojo pojo是封装类账号的类型里面有的相关数据一方面能在java中进行数据操作另一方面对接MySQL的账户信息方便CRUD。 package com.example.bank.web;import com.example.bank.exceptions.MoneyNotEnoughException; import com.example.bank.exceptions.TransferException; import com.example.bank.service.AccountService; import com.example.bank.service.impl.AccountServiceImpl;import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; WebServlet(/transfer) public class AccountServlet extends HttpServlet {//为了让这个对象在其他方法中也可以用private AccountService accountService new AccountServiceImpl();Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws IOException{//获取表单数据String fromActno request.getParameter(fromActno);String toActno request.getParameter(toActno);double money Double.parseDouble(request.getParameter(money));try {//调用servlet的转账方法完成转账。调业务层accountService.transfer(fromActno,toActno,money);//程序能够走到这里表示转账一定成功了//调用view完成展示结果response.sendRedirect(request.getContextPath() /success.html);} catch (MoneyNotEnoughException e) {response.sendRedirect(request.getContextPath() /error1.html);} catch (TransferException e) {response.sendRedirect(request.getContextPath() /error2.html);}} }Utils package com.example.bank.utils;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;public class SqlSessionUtil {private SqlSessionUtil(){}private static SqlSessionFactory sqlSessionFactory;static {try {sqlSessionFactory new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream(mybatis-config.xml));} catch (IOException e) {throw new RuntimeException(e);}}public static SqlSession openSession(){return sqlSessionFactory.openSession();}}写好的工具类方便在dao层获取sqlsession对象。 银行转账小功能
http://www.w-s-a.com/news/86803/

相关文章:

  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的
  • 宁波教育学会网站建设网站建设价格由什么决定
  • 北京定制网站价格wordpress上传pdf文档
  • 网站建设费税率dz论坛seo设置
  • 推销网站话术商业网站开发与设计
  • 金华网站建设哪个网站做欧洲旅行比较好
  • 东莞市住房和城乡建设局网站trswcm网站建设
  • 郑州做网站企业h5编辑器免费版
  • 加强公司窗口网站建设陕西省外省入陕建筑信息平台
  • 成都网站优化实战大连企业网站建设模板
  • 服务器硬件影响网站速度seo网站推广价格
  • 学院网站开发竞争对手分析买网站送域名
  • 手机网站 jsp个人网页制作成品代码五个页面
  • ppt做长图网站wordpress文章页面图片自动适应
  • 做泌尿科网站价格京东商城网站建设教程
  • 像网站的ppt怎么做的移动app与网站建设的区别
  • 怎么建个人网站网站收录有什么用
  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态