}
}
resp.getWriter().write(“name:” + name + “, age:” + age);
}
}
浏览器访问该地址:
成功获取到所有cookie对象,cookie对象是键值对的,
一个name对应一个value
Cookie有效期设置
设置Cookie的有效期,默认cookie有效期关闭浏览器失效,通过setMaxAge方法设置cookie的有效期
@WebServlet(“/cookieTest”)
public class CookieServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie c1 = new Cookie(“name”, “zhangsan”);
Cookie c2 = new Cookie(“age”, “34”);
//通过setMaxAge方法设置cookie的有效期,参数为秒
c1.setMaxAge(60);
c2.setMaxAge(60);
resp.addCookie(c1);
resp.addCookie(c2);
}
}
Session技术
session技术为服务器技术,将会话过程产生的数据保存到服务器内存中
浏览器第一次访问服务器时,服务器会在服务器端创建session文件
然后,将session文件名称(想象成钥匙)以cookie的形式响应给浏览器
当浏览器第二次访问服务器时,只需要随身携带钥匙(session文件名),再通过该钥匙找到内容
session基本操作
服务器创建session
@WebServlet(“/sessionTest”)
public class SessionServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取session(就是session文件)
HttpSession s1 = req.getSession();
//向session存储数据
s1.setAttribute(“name”, “张三”);
}
}
浏览器访问该地址:
再次访问请求头中会有服务器响应给浏览器的钥匙
设置Session有效期:
1.在web.xml文件中配置
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—输入文件名
修改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:前缀,自定义的
JSP内置对象
为了提升开发效率,JSP给我们提供了9大内置对象,不需要定义,我们在JSP脚本中可以直接使用。
4大域对象:
request域对象
session域对象
application域对象
pageContext域对象
四大域对象的作用范围:从大到小
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”%>
<%
/pageContext 对象只能在本页面才能访问到/
pageContext.setAttribute(“name”, “pageContext”);
request.setAttribute(“name”, “request”);
session.setAttribute(“name”, “session”);
application.setAttribute(“name”, “application”);
%>
${pageScope.name}
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
浏览器访问该地址:
EL表达式获取基本数据类型
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%
request.setAttribute(“name”, “张三”);
%>
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
摸索成长,自己不成体系的自学效果低效漫长且无助。**
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-bWPKsCl4-1714810366796)]
[外链图片转存中…(img-yXMbihtR-1714810366796)]
[外链图片转存中…(img-5hyIV9VJ-1714810366797)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!