JavaWeb学习笔记二 --- 会话机制、JSP、 EL+JSTL 总结(超详细的总结~

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文




浏览器访问该地址:  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704150359287.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70#pic_center)  

再次访问请求头中会有服务器响应给浏览器的钥匙  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704150523652.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70#pic_center)  

设置Session有效期:  

1.在web.xml文件中配置  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704150738365.png)



2.在tomcat服务器配置文件中配置  

session-config,默认值为:30分钟



30




在java程序中设置



s1.setMaxInactiveInterval(10);

参数为秒




### []( )JSP



JSP,Java Server Pages,Java服务器端页面(网页)技术  

在JSP页面中,Java代码可以和HTML代码共存,其中Java代码负责处理数据,HTML代码负责显示数据  

**jsp就是一个Servlet**  

创建JSP页面  

右击WebContent—New—JSP File—输入文件名  

或者:右击WebContent—New—Other—Web—JSP File—输入文件名  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704151004360.png)  

修改jsp页面的编码为UTF-8  

Window—Preferences----搜索JSP—Templates----



#### []( )JSP基本语法



代码块  

在JSP页面中可以将Java代码块写到:  

<% Java代码块 %>



<%@ page language=“java” contentType=“text/html; charset=utf-8”

pageEncoding="utf-8"%>

<% out.write(“helloword”) %>




输出变量/表达式结果:  

<%=变量 或 表达式%>



<%@ page language=“java” contentType=“text/html; charset=utf-8”

pageEncoding="utf-8"%>

<%

out.write("helloword") 

int a = 12;

int b = 30;

%>

输出表达式结果

<%=a+b %>

输出变量结果

<%=b %>




#### []( )JSP注释



HTML代码注释:  

JSP代码注释: <%-- 注释的内容 --%>  

注释的快捷键:ctrl + shift + /



#### []( )JSP指令



在jsp2.0中共定义了page、include和taglib三种指令。  

page指令, 配置JSP页面信息的。  

include指令,页面包含的,导入页面的。  

<%@include file=“top.jsp”%>  

taglib指令, 导入资源,格式:  

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

\* prefix:前缀,自定义的  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704152253996.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70)



#### []( )JSP内置对象



为了提升开发效率,JSP给我们提供了9大内置对象,不需要定义,我们在JSP脚本中可以直接使用。  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704152326315.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70)  

4大域对象:  

request域对象  

session域对象  

application域对象  

pageContext域对象  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704152407261.png)  

四大域对象的作用范围:从大到小  

application > session > request > pageContext



四大域对象的作用优先级范围:从大到小:  

pageContext > request > session > application



### []( )EL+JSTL



#### []( )EL



在JSP页面开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护,为此,在JSP2.0规范中提供了EL表达式。  

EL是Expression Language的缩写,它是一种简单的数据访问语言。  

EL的目的:简化JSP脚本的书写。  

EL语法格式:${EL表达式}



##### []( )EL表达式获取数据



使用EL表达式获取四大域对象中的数据  

${key}  

如果获取域中的数据时,如果没有指定所在的域,会按照下面的顺序依次查找  

—依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找



<%@ page language=“java” contentType=“text/html; charset=UTF-8”

pageEncoding="UTF-8"%>
Insert title here
<!-- 四大域对象 -->

<%

	/*pageContext 对象只能在本页面才能访问到*/

	pageContext.setAttribute("name", "pageContext");

	request.setAttribute("name", "request");

	session.setAttribute("name", "session");

	application.setAttribute("name", "application");

%>



<!-- 使用EL表达式取出域对象中的数据 -->

${pageScope.name}<br/>

${requestScope.name}<br/>

${sessionScope.name}<br/>

${applicationScope.name}<br/>



浏览器访问该地址:  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704153320477.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70#pic_center)  

**EL表达式获取基本数据类型**



<%@ page language=“java” contentType=“text/html; charset=UTF-8”

pageEncoding="UTF-8"%>
Insert title here
<!-- 四大域对象 -->

<%

	request.setAttribute("name", "张三");

%>



${name }



**EL表达式获取对象类型数据**  

对象:${域名称.键名.属性名}



*   本质上会去调用对象的getter方法  

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704153904575.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70)  

    **获取List集合中的数据**  

    List集合:${域名称.键名\[索引\]}  

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021070415394618.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70)  

    **获取Map集合中的数据**  

    Map集合:  

    ${域名称.键名.key名称}  

    ${域名称.键名\[“key名称”\]}



![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704154004531.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNjQzNw==,size_16,color_FFFFFF,t_70)



#### []( )JSTL介绍



JSTL,JSP Standard Tag Lib,JSP标准标签库,提供了一些标签(<c:if> <c:forEach>),能够在JSP页面完成更加复杂的业务逻辑,总之用于简化和替换jsp页面上的java代码



使用步骤:



1.  导入jstl相关jar包

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

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

3.  使用标签:



Java的标签库,常见的标签有:  

<c:if></c:if>  

<c:forEach></c:forEach>  

<c:choose></c:choose>



利用jstl循环遍历用户集合:



<%@ page language=“java” contentType=“text/html; charset=UTF-8”

最后

看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面

小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>

image

针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺

image

全都是一丢一丢的收集整理纯手打出来的

更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~

image

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
链图片转存中…(img-GZ7TPiC2-1713541810625)]

全都是一丢一丢的收集整理纯手打出来的

更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~

[外链图片转存中…(img-yRyCmj3j-1713541810625)]

[外链图片转存中…(img-UFkm8Dwk-1713541810626)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-xVTq6RCq-1713541810626)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值