计划
执行
09点19分 开始
10点52分 回顾完了
13点41分 下午开始
记录
已解决
- 遇到的标签页似乎都改完了,好像是有一个主要的,就是api/src/main/webapp/resources/html/admin/index.html 里的head
- 确定了,那个model就是实体类
- 把页面dashboard.jsp的多余部分全部注释掉了
- 下拉选择框好像是在api/src/main/java/cn/crap/service/tool/UserPickService.java这里
问题及想法
- 熟悉现有项目,做到及其熟悉(中期答辩前的重点)
- 好像mock功能在Java里有个框架,引入mockito依赖,然后实现
- 写代码要规范是一定的,包括给一个类命名(java文件夹下的包里的就是类.java),因为你不是一个人搞开发,适合作
- mybatis逆向工程可以自动生成实体类,mapper接口和映射文件的三部分代码,牛逼啊
- 傻逼,修改完直接刷新就好了,不要再重新运行了
- 感觉controller才是那个核心,掌控,不过也是毕竟它最接近视图层
GPT
- 再次学习springMVC是什么
SpringMVC是一个基于Java的Web框架,是Spring框架的一部分。它使用了MVC(Model-View-Controller)的设计模式,可以帮助开发人员更好地组织和管理Web应用程序的代码。SpringMVC框架提供了一组组件,包括控制器、模型、视图等,用于处理Web请求、响应和渲染页面等任务,使得开发人员可以更加专注于业务逻辑的实现。
在SpringMVC框架中,控制器(Controller)负责接收和处理Web请求,然后调用相应的业务逻辑进行处理,最后将处理结果返回给视图(View)进行渲染。模型(Model)则用于封装业务逻辑的数据,可以通过控制器和视图进行传递。视图则负责将模型中的数据渲染成HTML页面,并返回给客户端进行显示。
SpringMVC框架的核心组件包括DispatcherServlet、HandlerMapping、Controller、ViewResolver等,它们协同工作,构成了一个完整的Web应用程序。其中,DispatcherServlet是SpringMVC框架的核心,负责接收所有的Web请求,并将它们分派到相应的控制器进行处理。HandlerMapping则负责将Web请求映射到相应的控制器。Controller则负责接收Web请求,并调用相应的业务逻辑进行处理。ViewResolver则负责将模型中的数据渲染成HTML页面,并返回给客户端进行显示。
总之,SpringMVC框架是一个功能强大、灵活易用的Web框架,可以帮助开发人员快速构建高效、可靠的Web应用程序
知识
crm项目
登录功能分析与设计
- IP受限,数据库表中设计allow_ips字段
- 需求推动开发
- controller处理完请求,返回响应信息返回的是哪个页面,那个页面所在目录会占一个controller,如果那个目录对应的controller写了,就添加方法就行,不用再写新的controller
- service层,mapper层,实体类层,他们是看数据库的表,一般来讲是一一对应的,就是controller看页面,剩下的看数据库的表
- 首页功能 流程
- 首页跳转到登陆页面 流程
- 同步请求:整个页面都刷新
- 异步请求:局部刷新
响应回来是全部刷新,则优先同步,除非响应回来指定局部,用异步
某些情况下局部,某些全部,选择异步 - controller层三个作用
- 接受请求,获取参数(定义形参),封装参数(mapper,实体类对象)
接收和解析Web请求:Controller层负责接收和解析Web请求,并从请求中获取相应的参数信息。通过解析请求,Controller层可以准确地获取客户端的请求,提取请求中的数据,然后将数据传递给Service层进行处理。 - 调用Service层进行业务处理:Controller层将从Web请求中获取的数据传递给Service层进行业务处理。Service层负责实现具体的业务逻辑,包括数据的处理、计算、存储等。Controller层需要调用Service层的方法,并将处理结果返回给客户端。
- 响应Web请求并渲染视图:Controller层负责将处理结果返回给客户端,并渲染相应的视图。渲染视图的过程通常通过调用ViewResolver来实现。ViewResolver根据Controller层返回的结果,选择相应的视图进行渲染,并将渲染后的结果返回给客户端进行显示。
总之,Controller层是整个Web应用程序的核心组件之一,它负责接收和解析Web请求,调用Service层进行业务处理,并将处理结果返回给客户端。在SSM框架的项目中,Controller层的作用非常重要,它直接影响了整个应用程序的性能、可靠性和用户体验。
- 接受请求,获取参数(定义形参),封装参数(mapper,实体类对象)
- service层使用的是controller层封装好的mapper,
- mybatis叫映射技术,dao层(mapper层),下面还有实体类层(model),这就是分开的
- 从数据库中执行完sql语句查完以后,返回的是实体类,如果返回多个则是userlist,单个则是user
- 异步请求发送的是Ajax,返回的是json字符串,同步请求返回的就是html
- json的对象都是属性名,属性值
- 登录功能 流程
最后是13. 解析json,渲染页面
插播mybatis逆向工程
- 依赖(让别人去调)和插件(独立运行的)
可以生成,但不知道放哪,需要告诉他,添加配置文件:数据库连接信息,代码保存的目录,表的信息
代码保存目录
表的信息
每次根据那张表生成,只打开那一张表,其他的注释掉,否则会覆盖之前的
登录功能实现mapper层和service层
- mapper和mpper.xml中的方法和实现方法当然是一一对应的,那么他们和model中的如何联系
- mapper和mapper.xml写完了就让mybatis去扫描这个包,mybatis已经被spring整合了
- service层都是基于接口编程的
- 要想让注解起作用,就得让spring扫描注解所在的包
- service层方法的实现得调mapper层