JavaWeb四层架构详解

四层架构

后台代码

entity(domain)

实体类,如Student.java等,便于dao获取和使用数据,与数据库字段内容进行映射

Dao

只是访问数据库,不做其他的,查数据,返回数据,也就是对数据库进行增删改查,返回数据

目录结构

  • dao接口类:接口,将要实现的功能进行声明,这个接口的规范可以不用写,因为操作数据库就一些固定的方法,不过我还是觉得这样写了比较方便,以后这个还是看情况吧
  • Impl包:
    • DaoImpl类:继承dao,进行代码的编写

service执行业务

逻辑判断

  • 通过实现DaoImpl的类,如:```private Dao dao = new DaoImpl()`

    • 这样可以使用类名(dao)去调用DaoImpl里面的操作数据库的方法,
  • 将需要实现的一个功能进行分析,清楚需要使用哪一些Dao里面的方法,然后使用类名(dao)去调用的daoImpl里面的方法,并对这些方法进行逻辑判断,将这一个功能封装为一个方法

目录结构

  • Service接口类:接口,将要实现的功能进行声明,对ServiceImpl将要写的功能进行规范
  • Impl包:
    • ServiceImpl类:继承dao,进行代码的编写

controller(Servlet)

  • **实现一个BaseServlet,**其他的Servlet去继承这个BaseServlet,然后就可以实现在一个Servlet里面实现多个功能,也就是实现多个方法,这样可以减少Servlet的创建,优化代码

控制数据流向视图层,也就是发送给浏览器。

  • 可以实现service 如:private Service service = new ServiceImpl()

    • 这样可以使用类名(service)去调用ServiceImpl里面的操作数据库的所实现的功能
  • 使用JSON进行数据的传输,储存数据

    • jackson去操作json,将对象或者是数据转换为json数据

    • //这个是将obj里面的内容(对象)通过response传输浏览器
      mapper.writeValue(response.getOutputStream(),obj);
      

util

常用的工具类

  • 存放工具类,
    • 如操作mysql数据库的JDBCUtil工具类
    • 操作Redis数据库的JedisUtil工具类
    • 还有获取随机值的UuidUtil工具类
    • 发送邮件的MailUtils工具类
    • 将明文密码转换为MD5密码的Md5Util工具类等

前台代码

jsp和html页面,处理页面显示代码

视图层:操作html页面

html页面

  • JQuery

    • 导入JQuery的js文件,
    • 使用JS转换为jq对象:js->jq:$(js对象),然后通过选择器操作标签$(" ")
  • html可以使用ajax获取前面通过JSON返回的response响应的数据,

    • ajax可以不重新加载整个页面的情况下,对网页的部分内容进行局部更新
    • 一般都是通过JQuery的get和post方式实现Ajax,通过get和post方法获取response返回的JSON数据

JSP页面

JSP用法详解

jsp页面与html页面类似,但是可以使用语法在jsp页面执行java代码

  • 也可以使用JSP获取这些内容,JSP基于java语言,本质上就是Servlet
    • 因为jsp可以写java代码,所以jsp可以与在Servlet(即继承HttpServlet的那个类里面的doPost方法里面),以同样的方法设置和获取四大域和九大隐式对象里面的数据
  • EL表达式:在JSP页面获取,语法更加简单。
    • EL表达式语法:${表达式内容}
    • 功能较JSP更加简单,获取四大域对象的数据,根据名称从小到大在域对象中查找。
    • EL表达式里面的隐式对象和JSP里面的隐式对象区别是什么?
    • jsp和el及jstl详细解释
    • JSTL通过一些标签对EL进行增强的使用,比如循环判断等…
    • JSP所写的位置大概如下
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>




Insert title here


	

用户登陆

用户名:
密码:
${msg }

补充

Dao及Service以及日期的获取和储存实现思路

Servlet和JSP之间储存和获取数据

四大域对象和隐式对象的区别和使用

你可能感兴趣的:(平时总结,jquery,ajax,java)