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

网站建设新闻+常识网站建设栏目分级

网站建设新闻+常识,网站建设栏目分级,盗qq钓鱼软件,品牌设计全案目录 一、Lombok工具包下载 二、前后端互联的图书管理系统 规范 三、分层思想 三层架构#xff1a; 1.表现层 2.业务逻辑层 3.数据层 一、Lombok工具包下载 这个工具包是为了做什么呢#xff1f; 他是为了不去反复的设置setting and getting 而去产生的工具包 ⚠️工具… 目录 一、Lombok工具包下载 二、前后端互联的图书管理系统 规范 三、分层思想 三层架构 1.表现层 2.业务逻辑层 3.数据层 一、Lombok工具包下载 这个工具包是为了做什么呢 他是为了不去反复的设置setting and getting 而去产生的工具包 ⚠️工具包下载推荐不要下载太新的较高的也不要太旧选择一个使用人多的。 使用方法加上注解Data之后。 我们可以使用get属性名字()比如 此时你明明没有写get方法但是就是会有get这个方法这也是这个包吊的地方, 当然假如你想有东西让他不可修改不能访问那么就可以特定的去写Getter,Setter 为什么前端校验之后后端还需要校验 1.这是两个团队的事情 2.后端可能会受到攻击不是非正常的请求 二、前后端互联的图书管理系统 规范 图书管理系统 1.登录 URL: /user/login 参数: userName?password? 响应:true/false 2.图书列表展示 URL:/book/getBookLsit 参数:无 响应:ListBookInfo 登录界面的后段代码显示 package com.example.demo.demos.web;import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;RequestMapping(/user) RestController public class UserController {RequestMapping(/login)public Boolean login(String userName, String password, HttpSession session){//校验参数if(!StringUtils.hasLength(userName)||!StringUtils.hasLength(password)){return false;}//验证账号密码是否正确//为什么admin放在前面因为假如userName为NULL这样他就会报一个空指针错误常量放在前面开发习惯if(admin.equals(userName)admin.equals(password)){//账号密码正确//存session,一会在这个地方记得要去测试一下没有session会怎么样session.setAttribute(userName,userName);return true;}return false;}}这个session我开始一直不理解是用来干什么的但是现在突发奇想一个念头他的作用是我们之前写过的博客系统登录界面假如登录成功你的用户ID会变成你的用户名换句话说它是从你的登录开始获取您的信息然后去对您的信息进行一系列操作 更加深刻的理解这个session像是一个医保卡你登录之后你的信息服务器就获取了然后会根据您的信息为你进行接下来的服务。 Book对象 package com.example.demo.demos.web;import lombok.Data;import java.math.BigDecimal;Data public class BookInfo {private Integer id;private String bookName;private String author;private Integer count;private BigDecimal price;private String publish;//1.表示可借阅2.不可借阅private Integer status;private String statusCN; }图书管理系统的列表后端代码 采用list来去暂时存储这个图书管理系统当然以后会连接数据库这也就是一个暂时的存储 package com.example.demo.demos.web;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Random;RestController RequestMapping(/book) public class BookController {RequestMapping(/getBookList)public ListBookInfo getBookList() {//1.获取图书的数据//2.对图书数据进行修改针对状态码数字0有货1没货这种进行改变把状态码数字转换成中文//3.返回数据ListBookInfo bookInfos mockData();for (BookInfo bookInfo : bookInfos) {if (bookInfo.getStatus() 1) {bookInfo.setStatusCN(可借阅);} else {bookInfo.setStatusCN(不可借阅);}}return bookInfos;}private ListBookInfo mockData() {ListBookInfo bookInfos new ArrayList(15);//对于已知数据量或者大概知道这个集合的数据量时创建list时建议指定初始化容量for (int i 0; i 15; i) {BookInfo bookInfonew BookInfo();bookInfo.setId(i);bookInfo.setBookName(图书i);bookInfo.setAuthor(作者i);bookInfo.setCount(new Random().nextInt(200));bookInfo.setPrice(new BigDecimal(new Random().nextInt(100)));bookInfo.setPublish(出版社i);bookInfo.setStatus(i%50?2:1);bookInfos.add(bookInfo);}return bookInfos;} } 三、分层思想 MVC也是有分层的思想过时最后最好是要把代码分层现在牛逼的思想 三层架构 1.表现层 接受请求返回结果 2.业务逻辑层 业务的逻辑处理主要处理业务相关的逻辑 3.数据层 处理数据包含数据的存储获取增删改查 Control:接受请求参数是否合法结果响应 Service:真正干活部分 Dao:数据部分 然后我们要把上面的代码通过架构的思想把它给变成架构中有层次的代码 Control-Service-Dao 层次的调用关系 Control package com.example.demo.demos.book.controller;import com.example.demo.demos.book.BookInfo; import com.example.demo.demos.book.service.BookService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Random;RestController RequestMapping(/book) public class BookController {private BookService bookServicenew BookService();RequestMapping(/getBookList)public ListBookInfo getBookList() {//1.获取图书的数据//2.对图书数据进行修改针对状态码数字0有货1没货这种进行改变把状态码数字转换成中文//3.返回数据ListBookInfobookInfosbookService.getBookList();return bookInfos;}} Dao package com.example.demo.demos.book.dao;import com.example.demo.demos.book.BookInfo;import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Random;public class BookDao {public ListBookInfo mockData() {ListBookInfo bookInfos new ArrayList(15);//对于已知数据量或者大概知道这个集合的数据量时创建list时建议指定初始化容量for (int i 0; i 15; i) {BookInfo bookInfonew BookInfo();bookInfo.setId(i);bookInfo.setBookName(图书i);bookInfo.setAuthor(作者i);bookInfo.setCount(new Random().nextInt(200));bookInfo.setPrice(new BigDecimal(new Random().nextInt(100)));bookInfo.setPublish(出版社i);bookInfo.setStatus(i%50?2:1);bookInfos.add(bookInfo);}return bookInfos;} }Service package com.example.demo.demos.book.service;import com.example.demo.demos.book.BookInfo; import com.example.demo.demos.book.dao.BookDao;import java.util.List;public class BookService {private BookDao bookDaonew BookDao();public ListBookInfo getBookList() {ListBookInfo bookInfos bookDao.mockData();for (BookInfo bookInfo : bookInfos) {if (bookInfo.getStatus() 1) {bookInfo.setStatusCN(可借阅);} else {bookInfo.setStatusCN(不可借阅);}}return bookInfos;} } 这样代码就符合三层架构的思想了
http://wiki.neutronadmin.com/news/207820/

相关文章:

  • 一个网站是怎么做出来的做网店去哪个网站货源好
  • 网站内容避免被采集网站做零售
  • 怎么自己做微网站吗如何写手机适配网站
  • 湖南建设工程竣工备案表查询网站企业网站设计与管理系统
  • 电商型网站网站建设合同 附件
  • 主机如何做网站空间常德seo公司
  • 高端旅游网站建设wordpress 快讯模板
  • 微信小程序外联网站网络平台推广方法
  • 动态背景网站优惠券网站做代理怎么样
  • 网站服务器 内容更新柳州企业网站建设
  • 免费领取永久云服务器深圳市seo网站设计多少钱
  • 墨刀做网站化州市住房和建设局网站
  • 最优的锦州网站建设焦作做网站的
  • 鹿班设计网站官网安徽安能建设集团网站
  • 免费购物网站程序wordpress条文件夹
  • 新民个人网站建设优势刷赞网站推广ks
  • 购物导购网站开发工程建筑公司
  • vue可以做pc的网站福建南平网站建设
  • 甘肃网站备案审核广州引流推广公司
  • 网站制作企wordpress 计划表格
  • 大公司网站色彩设计flash网站源码
  • 企业电子商务网站建设总结东营的网站建设公司
  • 网站备案幕布 下载建设网站企业网上银行
  • 怎么建设自己公司的网站首页企业建设网站的步骤是什么意思
  • 企业网站建设的技术指标和经济指标刚刚北京发生大事了
  • 泊头做网站价格深圳市网络营销公司
  • 做citation的网站服务态度 专业的网站建设
  • 网站开发手把手今东外贸人才网
  • 网页制作软件培训机构seo站内优化包括
  • 粉色做网站背景图片wordpress发微博