java web后端知识点梳理

B/S模式

用户通过浏览器发送请求,访问服务器上的某个部署的项目,经过该项目的MVC,得到响应。

页面提交数据的方式

  • 表单提交
<form action="提交路径?参数=值" method="post"></form>
<form action="提交路径" method="get">
    <input type="hidden" name="参数名" value="参数值">
</form>
  • 超链接提交
<a href="地址?参数=值&参数=值">xxx</a>
  • ajax提交
$.ajax({
    url:'',
    data:{
        "参数名":值,
        "参数名":值
    },
    type:"提交方式get/post",
    success:function(res){

    },
    error:function(){}
});

Servlet的生命周期

构造方法 -->init()初始化  -->service()/doGet()/doPost()  -->destory()销毁

JSP

作用域对象

  1. pageContext
  2. request
  3. session
  4. application

作用域范围:application>session>request>pageContext

内置对象

  1. request
  2. response
  3. page
  4. pageContext
  5. session
  6. application
  7. out
  8. config
  9. exception

相对路径

  • /    表示从根目录(域名+ip) 出发
  • ./   表示从当前位置出发
  • ../  表示跳向上一层
  • 在jsp中,可以使用${pageContext.request.contextPath}表示页面上下文路径

 EL

表达式语言。替换jsp中的输出<%=%>部分

  • 会依次从pageContext-->request-->session-->application中获取指定对象,${对象名.属性名}或${指定作用域.对象名["属性名"]}
  • 从请求中获取参数,${param.参数名}
  • 逻辑判断、计算,非空判断${empty 对象}       计算${xx+yy}

JSTL

1.导入JSTL对应的依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
</dependency>

2.在JSP页面中引入标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

3.具体使用

  • 定义变量或给变量赋值
<c:set var="变量名" value="值"></c:set>
  • if判断
<c:if test="判断条件">
    满足条件时的内容
</c:if>
  • 遍历
<c:forEach items="要遍历的集合" var="遍历出的对象名"></c:forEach>

Session和Cookie

Session

session是一个作用域对象,通常用session保存一些信息,用于在同一个站点的各个页面之间共享数据。

session对象的常用方法

常用方法作用
session.setAttribute(String str,Object obj)将obj对象保存在session中,命名为str
session.setAttribute(String str)获取保存在session中的对象
session.removeAttribute(String str)移除保存在session中的对象
session.invalidate()销毁session
session.getCreationTime()获取session创建时间对应的毫秒数
session.getId()获取sessionid
session.getMaxInactiveInterval获取session有效时长(默认1800秒),在指定时间内,打开浏览器但无操作,就会自动销毁
session.setMaxInactiveInterval(int seconds)设置session有效时长,参数为秒
ServletContext app=session.getServletContext();获取当前application对象

Cookie

通常用于更长时间的保存一些信息,即便关闭浏览器,也能保存。

//cookie创建
Cookie cookie=new Cookie("username","保存在cookie中的用户名");
response.addCookie(cookie);

//cookie的获取
Cookie[] ck=request.getCookies();
//遍历
for(Cookie c:ck){
    System.out.println(c.getName()+"--"+c.getValue())
}

Session和Cookie对比

  • session中保存的是对象Object,cookie中保存的是字符串String,都以键值对的形式保存
  • session保存在浏览器和服务器端,cookie保存在浏览器
  • session保存的数据没有大小限制,cookie保存的数据有大小限制,不超过3kb
  • session在30分钟内没有访问或随着浏览器的关闭而销毁,cookie可以设置销毁时间

监听器listener

常用的三个监听器

ServletContextListener     application监听器
HttpSessionListener        session监听器
ServletRequestListener     request监听器

过滤器

将指定的请求进行拦截,拦截后进行判断决定是否放行执行后续的请求,通常用于权限控制或解决中文乱码。

Web项目开发模式

Model1

JSP+JavaBean模式

JSP负责渲染数据和处理页面。

JavaBean是一个满足以下条件的类

  • 被public修饰
  • 其中的属性进行封装
  • 有无参数的构造方法

jsp既要显示内容,又要处理数据,后期维护扩展不方便

Model2

MVC模式:模型-视图-控制器模式

M:Model模型

  • 用于封装数据处理数据,对应业务逻辑类、数据访问类、实体类

V:View视图

  • 用于渲染数据,对应页面(jsp或html)

C:Controller控制器

  • 用户调度,用户请求,对应servlet

这个模式适合复杂项目的开发;每个模块各司其职,耦合性低,后期维护扩展较为方便

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值