JavaWeb项目入门指南(会话技术[cookiesession]FilterListener)

丰富的线上&线下活动,深入探索云世界

做任务,得社区积分和周边

最真实的开发者用云体验

让每位学生受益于普惠算力

让创作激发创新

资深技术专家手把手带教

遇见技术追梦人

技术交流,直击现场

海量开发者使用工具、手册,免费下载

极速、全面、稳定、安全的开源镜像

开发手册、白皮书、案例集等实战精华

为开发者定制的Chrome浏览器插件

会话技术的作用:是用来存储会话过程中,浏览器和服务器交互产生的N多数据的

会话技术的分类:

使用cookie或session去存储浏览器和服务器交互中产生的数据的场景:

作用:存储数据进行传递的

特点:

cookie的整个使用过程(完成私人数据在多个servlet之间进行数据传递):

cookie的应用场景

注意:

Cookie:

//将cookie发送给浏览器。注意:服务器可以给浏览器传递多个cookie,浏览器都会保存,但存在key值覆盖voidaddCookie(Cookiecookie)HttpServletRequest:

//获取浏览器发送的cookieCookie[]getCookies()注意:

Cookie的生命周期

Cookie的有效路径

//设置cookie的有效路径。浏览器根据这个路径判断在访问哪些资源时携带该cookie给服务器voidsetPath(Stringuri)

session是保存在服务器端的会话技术,当通常情况下,Session是借助Cookie技术来传递ID属性的。

session的作用:为了保存会话中产生的数据

作用范围:

生命周期:

session的与cookie的区别

在一次会话中,使用的都是同一个session对象剖析:

过滤器的使用场景:

Filter:是Java中预先定义好了的接口,可以过滤不同的内容,具体怎么过滤,需要使用者定义一个实现类,然后实现接口中的过滤方法,在方法中书写过滤的条件。filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行

主要作用:对浏览器的请求进行拦截过滤的

Filter接口API

//过滤器的初始化方法voidinit(FilterConfigfilterConfig)//过滤器的核心过滤方法。写具体的过滤逻辑voiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)//过滤器的销毁方法voiddestroy()

使用步骤

方式2:在web.xml中配置filter要拦截的资源

MyFiltercn.itcast.filter.MyFilterMyFilter/sd1

过滤器链:需要对同一个请求,进行多次不同业务的过滤时,可以配置多个过滤器,只有所有的过滤器都对请求进行了放行,请求才能访问到目标资源,只要多个过滤器中只有一个过滤器不放行请求,那么这个请求都不能够访问到目标资源。多个过滤器组成的一个整体称为过滤器链。而且,过滤器链中的过滤器是一个一个的执行的,一个过滤器执行完毕之后,会执行下一个过滤器,后面没有过滤器了,才会访问到目标资源。只要其中一个过滤器没有放行,那么这个过滤器后面的过滤器也都不会执行了。

过滤器链中多个过滤器的执行顺序:

filter的执行流程

filter的生命周期

从filter的出生到filter的死亡,有3个方法:

filter默认只拦截Request(浏览器过来的请求,包括重定向),不拦截Forward(服务器内部的请求,即请求转发)

如果想让filter拦截服务器内部的请求:

浏览器发出的任何请求,通过过滤器统一处理中文乱码。

@WebFilter(filterName="EnCodingFilter",urlPatterns="/*")publicclassEnCodingFilterimplementsFilter{@Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletException{}@OverridepublicvoiddoFilter(ServletRequestreq,ServletResponseresp,FilterChainchain)throwsServletException,IOException{//在执行servlet获取数据和响应数据之前执行该代码req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");//放行之前处理中文乱码chain.doFilter(req,resp);}@Overridepublicvoiddestroy(){}

web监听器是一种Servlet中的特殊的类,可以帮助开发者监听web中的特定事件,比如ServletContext,HttpSession,ServletRequest的创建和销毁等。可以在某些动作前后增加处理,实现监控。

Listener的作用:监听ServletContext,HttpSession,ServletRequest三大域对象的状态变化(三个域对象的创建和销毁)

使用场景:

java提供了监听器规范,不同的监听器规范要监听的内容不一样

常见监听器:

API

使用步骤(以ServletContextListenner监听器为例)

session监听器,统计session个数

Stringvalue=request.getHeader("user-agent");Stringencode;if(value.contains("Firefox")){//火狐浏览器中文(base64)Base64.Encoderencoder=Base64.getEncoder();encode="=utf-8B"+encoder.encodeToString(fileName.getBytes("utf-8"))+"=";}else{//其它浏览器中文(utf-8)encode=URLEncoder.encode(fileName,"utf-8");}//小说.txt--%E5%B0%8F%E8%AF%B4.txtresponse.setHeader("content-disposition","attachment;filename="+encode);

域对象可以在多个servlet/jsp之间进行数据传递

java后端的域对象有3个:

存入数据的作用范围:在一次会话中涉及的多个servlet可以共享数据

THE END
1.34个经典javaweb项目实例javaweb项目完整案例学生宿舍管理系统源码+数据库(高分毕业设计).zip 浏览:180 5星 · 资源好评率100% javaweb项目完整案例学生宿舍管理系统源码+数据库(高分毕业设计).zip 本项目是一套基于JavaWeb实现的学生管理系统 或 学生宿舍管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。包含https://download.csdn.net/download/m0_58466526/87575554
2.java项目开发完整案例javaweb项目开发案例精粹java项目开发完整案例 javaweb项目开发案例精粹 项目实例: 客户管理系统 先写原型:只有页面,并没有实际的功能; 功能分析: 添加客户;查询;编辑;删除;多条件组合查询; 创建表 创建包:公司名.项目名.分层 com.haut.damain com.haut.Dao com.haut.servicehttps://blog.51cto.com/u_13354/6862578
3.Java简单项目案例详解及代码分享21xrx.com在学习编程语言时,一个好的理解方式是通过练习来巩固自己的知识。本文将介绍一些Java的简单项目案例,并提供代码分享和详细讲解,以帮助Java初学者们更好地理解Java。 一、基于Java的简单计算器 这是一个基于Java的简单计算器项目。该项目使用Java Swing框架来构建用户界面,并在后台使用Java语言进行计算。 https://21xrx.com/Articles/read_article/83767
4.Java项目开发案例精粹出版年: ?xvi, 416页/CNY55.00 页数/价格: 2010 简介: 本书以61个案例给用户讲解了使用Java语言进行各种常见项目开发的技术和方法, 由于面向的是初中级用户, 因此技术主要涉及Windows窗体程序开发和简单的Web程序开发, 项目类型主要包括Windows系统类、游戏类、网络类、数据库类和其他的一些类型。名称http://www.lib.wh.sdu.edu.cn/multimedia/DiskShow16762.html
5.精通JavaEE项目案例(豆瓣)本书结构脉络清晰,内容深入浅出,适合Java初、中级读者学习使用,对没有项目开发经验的读者是一本实例指导用书,同时也可以作为IT培训机构的培训教材。 我来说两句 短评 ··· 热门 / 最新 / 好友 还没人写过短评呢 我要写书评 精通JavaEE项目案例的书评 ··· ( 全部0 条 ) 论坛 ··· 在这本书https://book.douban.com/subject/2363663/
6.Java项目开发案例全程实录PHP 项目开发案例全程实录 作者:刘中华 ISBN:9787302241928 出版社:清华大学出版社 出版年:2011 Visual C++项目开发案例全程实录 作者:刘锐宁 ISBN:9787302241935 出版社:清华大学出版社 出版年:2011 JSP项目开发案例全程实录 作者:明日科技 ISBN:9787302241904 出版社:清华大学出版社 出版年:2011 Java项目开发全程https://www.las.ac.cn/front/book/detail?id=ba56241291356c499e47760f19aea295
7.JAVA项目开发案例全程实录(超级高清).PDFJava程序设计与项目实战全程实录光盘 简介:本书从初学者学习Java编程的角度出发,根据作者多年的程序设计经验,按照科学的学习规律,由浅入深、循序渐进地向读者讲述了Java开发环境的搭建、Java基础语法知识、Java算法流程、面向对象高级特性、Java的输入/输出、多线程机制、Swing界面编程、Applet的基本知识、Java 2D/3D、Javhttps://www.iteye.com/resource/cwl110120-10981881
8.Java项目开发案例全程实录(第2版)PDF扫描版[90MB]电子书下载《Java项目开发案例全程实录(第2版)》以进销存管理系统、企业内部通信系统、企业人事管理系统、酒店管理系统、图书馆管理系统、企业快信、欣想电子商城、医药管理系统、企业门户网站、BBS系统、手机网络游戏和棋牌游戏系统之网络五子棋12个实际项目开发程序为案例,从软件工程的角度出发,按照项目的开发顺序,系统、全面地介绍https://www.jb51.net/books/196795.html
9.JavaWeb项目开发案例精粹视频与源码合集(免费)如果您想要了解更多的Java后端开发知识,请访问我的个人博客吧 本文档为Java Web项目开发案例精粹视频与源码,每集按照项目的开发顺序,系统且全面地介绍了程序的开发流程。 资源合集 资源名称资源地址 Java Web项目开发案例精粹01-企业日常事务管理系统http://down.51cto.com/data/494328 https://www.jianshu.com/p/565bb6d85d5b
10.JavaWeb程序设计与项目案例实验指导汇总清华实验01WEB开发JavaWeb程序设计与项目案例实验指导 实验一WEB开发基础 一、实验目的 1.了解JSP、Servlet运行环境,熟悉Tomcat服务的配置。 2,会运行一个JSP程序,能够完成简单的JSP程序的编写。 二、实验要求 1.编写一个Hello.jsp的JSP程序,它在浏览界面上输出一个字符串Hello。 https://max.book118.com/html/2024/0328/6131131003010110.shtm
11.39套Java进阶高级架构师教程第十套:【项目实战】设计模式综合项目(实战),设计模式综合应用的实战案例视频教程 第十一套:【项目实战】软件系统功能设计(实战)训练(6个设计案例,真实项目功能需求)视频教程 第十二套:【系统学习】Java数据结构和算法精讲版(数组、栈、队列、链表、递归、排序、二叉树、红黑树、堆、哈希表)视频课程 https://www.soft1188.com/java/618.html
12.《JavaWeb项目开发案例实战—SpringBoot+MyBatis+Hibernate+SprJava Web项目开发案例实战—Spring Boot+MyBatis+Hibernate+Spring Cloud(微课视频版)java核心技术编程思想框架开发程序设计 自营 中国水利水电出版社京东自营官方旗舰店 Java Web项目开发案例实战—Spring Boot+M 尹有海著 京东价 ¥ 促销 展开促销 配送至 https://item.jd.com/12995355.html
13.《Java项目开发全程实录(第3版)(配光盘)(软件项目开发全程实录Java17官方入门教程Java17官方编程手册Java入门经典Java开发实例大全(基础卷)Java开发实例大全(提高卷)Java实例大全1卷Java项目案例Java开发实战Java视频教程Java入门经典(实例版)Java从入门到精通(实例第2版)Java从入门到精通(第4版)Java编程入门官方教程(第7版)JavaJDK9学习笔记Java9编程(第10版)Java11官方教程JSP&http://product.dangdang.com/23360432.html
14.Android案例开发项目实战施冬梅PDF下载Java知识分享网Android案例开发项目实战 施冬梅 PDF 下载分享到: 0 时间:2024-04-11 11:27来源:http://www.java1234.com 作者:转载侵权举报 本书以Android Studio为开发环境,对Android基础编程和Android网络编程中最重要的基础内容分任务进行了讲解,知识的学习与任务的实施得到了很好的结合。http://www.java1234.com/a/javabook/javabase/2024/0411/25094.html
15.Java实训范文7篇(全文)通过游戏的开发练习后,引入Java在WEB开发项目中的实训案例,让学生能够熟练掌握开发工具的使用、学会配制Tomcat服务器和一些有关设计模式的知识。恰当案例能起到提纲挈领的作用,也有助于学生在学习过程中积极进行思考,使学生带着问题有目的去进行学习,所学的知识有能去解决问题。在不断的思考与应用的过程中加深学生对https://www.99xueshu.com/w/ikeyy0230yrz.html
16.JAVA案例开发集锦(1000多种开发案例附源码)开发技术JAVA案例开发集锦java与Applet,java特效,xml其他,java与游戏,java文件操作,java与安全,java与数据库,java与servlet,java与网络,java综合https://www.coder100.com/index/index/content/id/1612483
17.Java中常见PDF报表生成方式"F:\\Java项目案例(手动完成)\\传智健康项目\\itcast_health\\health_parent\\jasperReportsDemo\\src\\main\\resources\\demo.jrxml"; // 生成编译文件的位置 String jasperPath = "F:\\Java项目案例(手动完成)\\传智健康项目\\itcast_health\\health_parent\\jasperReportsDemo\\src\\main\\resources\\demohttps://maimai.cn/article/detail?fid=1742066107&efid=uixBJpMEdBhp6ajSpdtjXA