JavaWeb相关知识

Maven的常用命令

  1. mvn clean:清理之前构建生成的文件

  2. mvn compile:编译项目的源代码

  3. mvn test:使用合适的单元测试框架运行测试。这些测试代码位于src/test/java目录下

  4. mvn package:打包编译后的代码到其分发格式,如JAR

  5. mvn install:安装打包的代码到本地仓库,以供其他项目使用

  6. mvn deploy:将最终的包复制到远程仓库,以共享给其他开发人员和项目

  7. mvn validate:验证项目是否正确,所有必需的信息都可用

  8. mvn help:显示关于使用的帮助

  9. mvn version:显示Maven的版本信息

响应头的数据格式与对应的方法

HTTP响应头是服务器返回给客户端的一组键值对,用于描述HTTP响应的一些属性和状态。

  1. Content-Type:指定返回的内容类型,如text/html,application/json等

  2. Content-Length:指定返回的内容长度

  3. Date:指定响应生成的日期和时间

  4. Server:描述服务器的软件和版本

  5. Set-Cookie:设置Cookie

  6. Location:在3xx(重定向)响应中使用,指定客户端应跳转到的URL

  7. Cache-Control:指定缓存策略,如no-cache,no-store,max-age等

  8. Expires:指定响应的过期时间

  9. Last-Modified:指定资源的最后修改时间,用于缓存验证

  10. ETag:资源的特定版本的标识符,用于缓存验证

  11. Content-Disposition:指定响应体的处理方式

  12. Allow:指定响应支持的HTTP请求方法,常见的值有:

    • GET:获取资源

    • POST:提交数据进行处理

    • PUT:更新资源

    • DELETE:删除资源

jsp的内置对象与指令

JSP9个内置对象

  1. request:HttpServletRequest对象,代表客户端的请求

  2. response:HttpServletResponse对象,代表服务器的响应

  3. pageContext:PageContext对象,提供了对JSP页面的各种属性的访问

  4. session:HttpSession对象,代表客户端与服务器的会话

  5. application:ServletContext对象,代表Web应用程序的上下文

  6. out:JspWrite对象,用于向客户端发送输出

  7. config:ServletConfig对象,包含了Servlet的初始化参数

  8. page:Object对象,代表JSP页面本身,等同于Java中的this关键字

  9. exception:Exception对象,代表在JSP页面中产生的异常(仅在错误页面中可用)

JSP指令

  1. page指令 <%@ page %>:定义页面依赖属性,如脚本语言、错误页面、缓冲需求等

  2. include指令 <%@ include %>:包含其他文件

  3. taglib指令 <%@ taglib %>:引入标签库

Cookie与Session之间的区别和常用的方法

区别

  1. 存储位置不同:Cookie存储在客户端,Session存储在服务器端

  2. 安全性不同:因为Cookie存储在客户端,所以更容易被篡改或窃取,相比之下,Session更安全

  3. 生命周期不同:Cookie可以设置长时间保持,而Session在用户退出或超时后就会失效

  4. 存储大小不同:Cookie的大小和数量有限,而Session只受服务器内存的限制

常用方法

  1. 创建Cookie:使用response.addCookie(cookie)方法创建并发送到Cookie客户端

  2. 读取Cookie:使用request.getCookies()方法获取客户端发送的所有Cookie,并使用.getName().getValue()等方法获取Cookie的名称和值

  3. 修改Cookie:通过修改Cookie的值或过期时间来修改Cookie内容

  4. 删除Cookie:使用cookie.setMaxAge(0)将Cookie的过期时间设置为0,然后通过response.addCookie(cookie)方法发送给客户端,使其失效

  5. 创建Session:通过request.getSession()方法获取或创建Session对象

  6. 存储数据到Session:使用session.setAttribute(name,value)方法将数据存储到Session中

  7. 获取Session数据:使用session.getAttribute(name)方法获取存储在Session中的数据

  8. 删除Session对象:使用session.removeAttribute(name)方法删除Session中指定的数据

  9. 销毁Session:使用session.invalidate()方法销毁Session,通常在用户注销或超时后调用

JSTL与EL表达式

JSTL(JSP Standard Tag Library)

它是一组JSP标签的集合,用于简化JSP页面的开发。JSTL支持通用的、结构化的任务,如迭代、条件判定、XML文档操作、国际化支持、SQL操作以及用于访问集合、数组、日期等数据的标签等

  1. JSTL核心标签库(c标签):

    • <c:if>:条件判定标签,根据表达式的结果决定是否执行或输出内容

    • <c:forEach>:循环标签,用于遍历集合或数组,并重复执行指定的内容

    • <c:set>:设置变量的值

    • <c:choose>、<c:when>、<c:otherwise>:用于实现多重条件的判断

  2. JSTL函数标签库(fn标签):

    • <fn:length>:获取集合或数组的长度

    • <fn:substring>:截取字符串的一部分

    • <fn:trim>:去除字符串两端的空白字符

EL(Expression Language)

是表达式语言,它提供了一种简单的方式来访问JavaBean组件,用于在JSP中访问和操作对象。EL表达式被包含在${}中,可以用于获取和设置变量、调用方法、访问集合和数组等。

  1. EL表达式:

    • ${variable}:获取变量的值

    • ${object.property}:访问对象的属性

    • ${object.method()}:调用对象的方法

    • ${collection[index]}:通过索引访问集合或数组的元素

监听器与拦截器的使用

监听器(Listener)和拦截器(Interpretor)是JavaWeb开发中常用的组件,可以在请求和响应的过程中执行一些额外的操作,如记录日志、验证用户权限、压缩响应数据等。

监听器

  • 监听器是一种事件驱动的机制,可以在Web应用程序中监听Servlet、Session、Request等事件,并在事件发生时执行一些动作。

  • 常用的监听器有:

    1. ServletContextListener:监听Web应用程序的启动和关闭事件

    2. HttpSessionListener:监听HttpSession对象的创建和销毁事件

    3. ServletRequestListener:监听ServletRequest对象的创建和销毁事件

  • 监听器的使用步骤:

    1. 创建一个类并实现对应的监听器接口

    2. 实现监听器接口中定义的方法,在方法内编写需要执行的代码逻辑

    3. 在web.xml配置文件中注册监听器,将监听器和特定事件关联起来

拦截器

  • 拦截器是基于Java的反射机制实现的,是一种面向切面编程的技术,可以在请求和响应过程中对请求进行拦截和处理,拦截器可以根据条件决定是否拦截请求,可以在目标方法执行前后,以及异常出现时执行一些操作。常用的拦截器有:

    1. HandlerInterpretor:拦截请求,并在请求前、请求后或响应后执行一些操作

    2. Filter:拦截请求,并在请求前或请求后执行一些操作

  • 拦截器的使用步骤:

    1. 创建一个类并实现HandlerInterpretor接口

    2. 实现接口中的preHandler、postHandler和afterCompletion方法,分别对请求进行预处理、后处理和处理完成后的清理工作

    3. 在配置文件(如Spring的配置文件)中定义拦截器,并指定要拦截的URL模式

响应与请求JSON数据格式的定义

请求JSON数据格式

请求JSON数据格式用于客户端向服务器发送请求,并传递相关参数或数据

{
  "field1": "value1",
  "field2": "value2",
  ...
}

其中,"field1"、"field2"等表示具体的请求字段名称、对应的"value1"、"value2"等为该字段的值

响应JSONS数据格式

响应JSON数据格式用于服务器返回给客户端的响应结果

{
  "status": "success/error",
  "message": "response message",
  "data": {
    "field1": "value1",
    "field2": "value2",
    ...
  }
}

其中,"status"表示请求的处理状态,可以是"success"表示成功,或者"error"表示错误;"message"用于返回响应的附加信息;"data"用于存储实际的响应数据;"field1"、"field2"等表示具体的响应字段名称,对应的"value1"、"value2"等为该字段的值

原生JS的Ajax请求

在原生JavaScript中,可以使用XMLHttpRequest对象进行Ajax请求

//创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
​
//配置请求
xhr.open('GET','https//api.example.com/data',true);//设置请求方法和URL
​
//设置请求头信息
xhr.setRequestHeader('Content-Type','application/json');
​
//监听状态改变事件
xhr.onreadystatechange = function(){
    if(xhr.readyState ===  4 && xhr.responseText === 200){//请求完成且响应成功
        var response = JSON.parse(xhr.responseText);    //解析响应数据
        console.log(response);
    }else{
        console.log("请求失败!");
    }
};
​
//发送请求
xhr.send();

以上代码中,我们:

  1. 首先创建了一个XMLHttpRequest对象

  2. 然后使用open方法设置请求的类型、URL地址以及是否异步

  3. 接着使用setRequestHeader方法设置请求头信息

  4. 最后使用send方法发送Ajax请求

在发送请求后,我们可以监听onreadystatechange事件,当请求状态发送改变时会触发该事件。

在事件处理函数中:

  1. 我们可以使用readyState属性获取当前请求的状态

  2. 使用status属性获取响应的状态码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼粮爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值