
JavaEE
本专栏是进入真正企业级项目的起点,是重点也是难点。我们分析JAVAEE的核心内容:Servlet和JSP、Tomcat服务器等。这些技术在企业中直接应用的概率不高,但是都是核心基础。
地球村公民
这个作者很懒,什么都没留下…
展开
-
Java Ajax技术详解:(五)Jquery 的 Ajax 使用-15100字匠心出品
Jquery 的 Ajax 使用1.$.ajax()的使用1.语法结构2.$.ajax()的使用3.ajax()在异步请求中提交普通格式数据4.ajax()在异步请求中提交JSON 格式数据5.$.ajax()处理响应中的 JSON 格式数据2.$.get()的使用3.$.post()的使用2.$.getJSON()的使用5.serialize()方法的使用1.$.ajax()的使用1.语法结构$.ajax({name:value,name:value......})名称描述/值原创 2020-06-18 10:39:23 · 257 阅读 · 0 评论 -
Java Ajax技术详解:(四)Jackson 的使用-10600字匠心出品
Jackson 的使用1.Jackson 简介2.在响应中通过 JSON 格式传递数据3.通过 JSON 格式在响应中传递单个对象4.通过 JSON 格式在响应中传递多个对象5.在 JSON 中通过 Map 传递数据6.在请求中通过 JSON 格式传递数据7.Jackson 的常用注解8.Jackson 工具类的使用在 JDK 中并没有内置操作 JSON 格式数据的 API,因此使用处理 JSON 格式的数据需要借 助第三方类库几个常用的 JSON 解析类库:Gson: 谷歌开发的 JSON 库原创 2020-06-18 09:46:52 · 418 阅读 · 0 评论 -
Java Ajax技术详解:(三)JSON 详解
JSON 详解1.JSON 简介2.为什么要使用 JSON3.JSON 的语法规则4.JOSN 的 6 种数据类型1.JSON 简介JSON(JavaScript Object Notation) 是一种基于字符串的轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON 是 JavaScript 数据类型的子集2.为什么要使用 JSON在 JSON 未出现之前在 Ajax 中对于数据传递方式,会使用 XML 作为主要数据格式来传输数据。直到 JSON 出现后逐渐放弃使原创 2020-06-18 09:01:13 · 408 阅读 · 0 评论 -
Java Ajax技术详解:(二)Ajax 的使用
Ajax 的使用1.XMLHttpRequest 对象2.Ajax 的使用步骤3.Ajax 的运行原理1.XMLHttpRequest 对象XMLHttpRequest 是浏览器接口对象,该对象的 API 可被 JavaScript、VBScript 以及其它 web 浏览器内嵌的脚本语言调用,通过 HTTP 协议在浏览器和 web 服务器之间收发 XML 或其它数据。XMLHttpRequest 可以与服务器实现异步交互,而无需让整个页面刷新,因此成为 Ajax 编程的核心对象2.Ajax 的使用步原创 2020-06-18 08:55:53 · 6414 阅读 · 2 评论 -
Java Ajax技术详解:(一)Ajax 简介
Ajax 简介Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态应用的网页开发技术,无需重新加载整个网页的情况下,能够更新页面局部数据的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使页面实现异步更新。这意味着可以在不重新加载整个页面的情况下,对页面的某部分进行更新。...原创 2020-06-18 08:40:55 · 44777 阅读 · 0 评论 -
Java JSP技术详解:(十一)MVC 模式
MVC 模式1.什么是 MVC 模式2.MVC 模式与应用程序分层的区别1.什么是 MVC 模式MVC 模式:Model、View、Controller 即模型、视图、控制器。是软件的一种架构模式(Architecture pattern)。MVC 要实现的目标是将软件的用户界面和业务逻辑分离,可提高代码可扩展性、可复用性、可维护性、以及灵活性View(视图):用户的操作界面。如:html、jsp。Model(模型):具体的业务模型与数据模型。如:service、dao、pojoControll原创 2020-06-16 10:39:51 · 790 阅读 · 0 评论 -
Java JSP技术详解:(十)JSTL 标签库与 EL 表达式的使用-6400字匠心出品
JSTL 标签库与 EL 表达式的使用1.JSTL 标签库的使用步骤2.JSTL 核心标签的使用1.< c:if>2.< c:choose>, < c:when>, < c:otherwise>3.< c:forEach>4.使用 ForEach 迭代 List5.使用 ForEach 迭代 Map3.JSTL 格式化标签的使用1.JSTL 标签库的使用步骤添加 jstl.jar 与 standard.jar在 Idea 中添加 JSTL原创 2020-06-16 10:37:59 · 230 阅读 · 0 评论 -
Java JSP技术详解:(九)EL 表达式
EL 表达式1.什么是 EL 表达式2.语法结构3.EL 表达式中的操作符4.EL 表达式的隐含对象5.使用 EL 表达式取出作用域中的值1.什么是 EL 表达式EL(Expression Language)是一种表达式语言。是为了使 JSP 写起来更加简单,减少 java 代码,可以使得获取存储在 Java 对象中的数据变得非常简单。在 JSP2.0 版本后开始支持 EL 表达式2.语法结构${表达式}${对象.属性名}3.EL 表达式中的操作符操作符描述( )优先原创 2020-06-16 10:19:40 · 234 阅读 · 0 评论 -
Java JSP技术详解:(八)JSTL 标签库
JSTL 标签库1.什么是 JSTL 标签库2.JSTL 标签分类1.核心标签2.格式化标签3.SQL 标签4.XML 标签5.JSTL 函数1.什么是 JSTL 标签库JSTL(Java server pages standarded tag library,即 JSP 标准标签库)JSTL 标签是基于 JSP 页面的。这些标签可以插入在 JSP 代码中,本质上 JSTL 也是提前定义好的一组标签,这些标签封装了不同的功能,在页面上调用标签时,就等于调用了封装起来的功能。JSTL 的目标是使 JSP原创 2020-06-16 10:11:41 · 295 阅读 · 0 评论 -
Java JSP技术详解:(七)JSP 中的四大作用域对象
JSP 中的四大作用域对象作用域:“数据共享的范围”,也就是说数据能够在多大的范围内有效。对象名称作用范围application整个应用都有效session在当前会话中有效request在当前请求中有效page在当前页面有效...原创 2020-06-16 09:37:04 · 350 阅读 · 0 评论 -
Java JSP技术详解:(六)请求转发
请求转发1.什么是请求转发2.请求转发与重定向的区别3.请求转发案例1.什么是请求转发请求转发是服务端的一种请求方式,相当于在服务端中直接请求某个资源。RequestDispatcher dispatcher = request.getRequestDispatcher("/test.jsp");dispatcher.forward(request,response);简写方式:request.getRequestDispatcher("/test.jsp").forword(request,原创 2020-06-16 09:35:21 · 876 阅读 · 0 评论 -
Java JSP技术详解:(五)JSP 的指令标签
JSP 的内置对象JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、 out、pagecontext、config、page、exceptionrequest 对象request 对象是 HttpServletRequest 类型的对象response 对象response 对象是 HttpServletResponse 类型的对象session 对象session 对象是 HttpSession 类型的对象。只有在原创 2020-06-16 09:29:32 · 226 阅读 · 0 评论 -
Java JSP技术详解:(四)JSP 的指令标签
JSP 的指令标签题1.JSP 指令标签分类2.Page 指令标签3.Include 指令标签4.Taglib 指令标签JSP 指令标签的作用是声明 JSP 页面的一些属性和动作<%@指令名称 属性="值" 属性="值"%>1.JSP 指令标签分类page:主要声明 JSP 页面的一些属性include:静态包含taglib:导入标签库2.Page 指令标签contentType设置响应类型和编码 contentType=“text/html;charset=UTF-8原创 2020-06-16 08:59:40 · 607 阅读 · 0 评论 -
Java JSP技术详解:(三)JSP 的三种原始标签
JSP 的三种原始标签1.<%! %> 声明标签2.<% %>脚本标签3.3<%= %>赋值标签JSP 的原始标签在 JSP 的任何版本中都可以使用1.<%! %> 声明标签声明标签用于在 JSP 中定义成员变量与方法的定义。标签中的内容会出现在 JSP 被编译后的 Servlet 的 class 的{}中<%@ page contentType="text/html;charset=UTF-8" language="java" %>&l原创 2020-06-15 10:10:56 · 892 阅读 · 0 评论 -
Java JSP技术详解:(二)JSP 运行原理
JSP 运行原理1.JSP 技术特点2.JSP 与 Servlet 区别1.JSP 技术特点JSP 和 Servlet 是本质相同的技术。当一个 JSP 文件第一次被请求时,JSP 引擎会将该 JSP 编译成一个 Servlet,并执行这个 Servlet。如果 JSP 文件被修改了,那么 JSP 引擎会重新编译这个 JSP。JSP 引擎对 JSP 编译时会生成两个文件分别是.java 的源文件以及编译后的.class 文件,并放到 Tomcat 的 work 目录的 Catalina 对应的虚拟主原创 2020-06-14 11:24:53 · 251 阅读 · 0 评论 -
Java JSP技术详解:(一)JSP 简介
JSP 简介1.JSP 介绍2.常见的视图层技术3.前后端分离开发方式1.JSP 介绍JSP(全称 Java Server Pages)Java 服务端页面技术,是 JavaEE 平台下的技术规范。它允许使用特定的标签在 HTML 网页中插入 Java 代码,实现动态页面处理,所以 JSP 就是 HTML 与 Java 代码的复合体。JSP 技术可以快速的实现一个页面的开发,相比在 Servlet 中实现页面开发将变得更加容易2.常见的视图层技术HTML、JSP、Thymeleaf 等。原创 2020-06-14 11:22:38 · 905 阅读 · 0 评论 -
Java Servlet 详解:(二十)Filter 与 Listener 设计模式
Filter 与 Listener 设计模式1.Filter 的设计模式1.责任链模式特点2.责任链的优缺点2.Listener 的设计模式1. 观察者模式的特点2.观察者模式的优缺点1.Filter 的设计模式在 Servlet 的 Filter 中使用的责任链设计模式1.责任链模式特点责任链(Chain of Responsibility):责任链模式也叫职责链模式,是一种对象行为模式。在责任链模式里,很多对象由每一个对象对其下一个对象的引用而连接起来形成一条链。请求在这个链上传递,直到链原创 2020-06-14 11:09:30 · 394 阅读 · 0 评论 -
Java Servlet 详解:(十九)Listener 监听器-10700字匠心出品
Listener 监听器1.监听器分类2.ServletContext 对象的生命周期监听器3.ServletContext 对象的属性操作监听器4.HttpSession 对象的生命周期监听器、5.HttpSession 对象的属性操作监听器6.HttpServletRequest 对象的生命周期监听器7.HttpServletRequest 对象的属性操作监听器8.基于注解式开发监听器监听器用于监听 web 应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的原创 2020-06-14 11:08:13 · 305 阅读 · 0 评论 -
Java Servlet 详解:(十八)Filter 过滤器
Filter 过滤器1.过滤器作用2.Filter 对象的创建3.在 Filter 中设置请求编码4.FilterConfig 对象的使用5.FilterChain(过滤器链)6.Filter 的生命周期7.基于注解式开发 FilterFilter 过滤器是 Servlet 中的一个组件。并不是 JavaEE 平台中的技术规范1.过滤器作用对从客户端向服务器端发送的请求进行过滤,也可以对服务器端返回的响应进行处理2.Filter 对象的创建创建一个 Class 实现 Filter 接口原创 2020-06-14 10:20:15 · 315 阅读 · 0 评论 -
Java Servlet 详解:(十七)文件上传
文件上传在 Servlet3.0 之前的版本中如果实现文件上传需要依赖 apache 的 Fileupload 组件,在 Servlet3.0 以及之后的版本中提供了 Part 对象处理文件上传,所以不在需要额外的添加 Fileupload 组件在 Servlet3.0 以及之后的版本中实现文件上传时必须要在 Servlet 中开启多参数配置:web.xml<multipart-config> <file-size-threshold></file-size-th原创 2020-06-11 20:40:05 · 352 阅读 · 0 评论 -
Java Servlet 详解:(十六)基于注解式开发 Servlet
基于注解式开发 Servlet1.@WebServlet 注解中属性2.@WebInitParam 注解中的属性在 Servlet3.0 以及之后的版本中支持注解式开发 Servlet。对于 Servlet 的配置不在依赖于 web.xml 配置文件,而是使用@WebServlet 注解完成 Servlet 的配置。1.@WebServlet 注解中属性属性名类型作用initParamsWebInitParam[]Servlet 的 init 参数nameString原创 2020-06-11 20:27:29 · 633 阅读 · 0 评论 -
Java Servlet 详解:(十五)Servlet 的 url-pattern 配置
Servlet 的 url-pattern 配置1.URL 的匹配规则1.精确匹配2.扩展名匹配3.路径匹配4.任意匹配5.优先顺序6.考考你2.URL 映射方式1.URL 的匹配规则1.精确匹配精确匹配是指< url-pattern>中配置的值必须与 url 完全精确匹配。<servlet-mapping> <servlet-name>demoServlet</servlet-name> <url-pattern>/demo.原创 2020-06-11 20:17:05 · 1086 阅读 · 0 评论 -
Java Servlet 详解:(十四)Servlet 线程安全问题
Servlet 线程安全问题在 Servlet 中使用的是多线程方式来执行 service()方法处理请求,所以我们在使用 Servlet 时需要考虑到线程安全问题,在多线程中对于对象中的成员变量是最不安全的,所以不要在 Servlet 中通过成员变量的方式来存放数据,如果一定要使用成员变量存储数据,在对数据进行操作时需要使用线程同步的方式来解决线程安全问题,避免出现数据张冠李戴现象import javax.servlet.ServletException;import javax.servlet原创 2020-06-11 20:01:55 · 416 阅读 · 0 评论 -
Java Servlet 详解:(十三) 自启动 Servlet
自启动 Servlet1.自启动 Servlet 特点1.自启动 Servlet 特点自动启动 Servlet 表示在 Tomcat 启动时就会实例化这个 Servlet,他的实例化过程不依赖于请求,而是依赖容器的启动可以通过在 web.xml 中的< servlet>标签中通过< load-on-startup>1< /load-on-startup>配置 自启动 Servlet <servlet> <servlet-原创 2020-06-11 19:30:47 · 656 阅读 · 0 评论 -
Java Servlet 详解:(十二) Cookie 对象与 HttpSession 对象-12300字匠心出品
Cookie 对象与 HttpSession 对象1.Cookie 对象1.Cookie 对象的特点2.Cookie 对象的创建3.获取 Cookie 中的数据4.解决 Cookie 不支持中文5.Cookie 跨域问题6.状态 Cookie 与持久化 Cookie7.通过 Cookie 实现客户端与服务端会话的维持8.Cookie 总结2.HttpSession 对象1.HttpSession 对象的特点2.HttpSession 对象的创建3.获取 HttpSession 中的数据4.HttpSessi原创 2020-06-11 19:15:02 · 311 阅读 · 0 评论 -
Java Servlet 详解:(十一) ServletConfig 对象
ServletConfig 对象ServletConfig 对象对应 web.xml 文件中的< servlet>节点。当 Tomcat 初始化一个 Servlet 时,会将该 Servlet 的配置信息,封装到一个 ServletConfig 对象中。我们可以通过该对象读 取< servlet>节点中的配置信息<servlet> <servlet-name>servletName</servlet-name> <servl原创 2020-06-11 16:07:07 · 470 阅读 · 0 评论 -
Java Servlet 详解:(十) ServletContext 对象- 7100字匠心出品
ServletContext 对象1.ServletContext 对象介绍1.ServletContext 对象介绍ServletContext 官方叫 Servlet 上下文。服务器会为每一个 Web 应用创建一个 ServletContext 对象。这个对象全局唯一,而且 Web 应用中的所有 Servlet 都共享这个对象。所以叫全局应用程序共享对象...原创 2020-06-11 15:57:47 · 291 阅读 · 0 评论 -
Java Servlet 详解:(九) HttpServletResponse 对象-7100字匠心出品
HttpServletResponse 对象1.设置响应类型2.设置响应编码3.在响应中添加附加信息1.重定向响应2.文件下载4.解决文件名中文乱码问题HttpServletResponse 对象代表服务器的响应。这个对象中封装了响应客户端浏览器的流对象,以及向客户端浏览器响应的响应头、响应数据、响应状态码等信息1.设置响应类型resp.setContentType("MIME")import javax.servlet.ServletException;import javax.servlet原创 2020-06-11 15:31:22 · 486 阅读 · 0 评论 -
Java Servlet 详解:(八) HttpServletRequest 对象-5800字匠心出品
HttpServletRequest 对象1.获取请求信息2.获取请求数据3.设置请求编码4.资源访问方式5.获取请求头信息6.HttpServletRequest 对象的生命周期HttpServletRequest 对象代表客户端浏览器的请求,当客户端浏览器通过 HTTP 协议访问服务器时,HTTP 请求中的所有信息都会被 Tomcat 所解析并封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息1.获取请求信息req.getRequestURL()返回客户端浏览器发出请求时的原创 2020-06-11 11:46:34 · 530 阅读 · 0 评论 -
Java Servlet 详解:(七) Servlet 的使用(简中简)
Servlet 的使用获取用户提交的数据获取浏览器附加的信息处理数据(访问数据库或调用接口)给浏览器产生一个响应在响应中添加附加信息原创 2020-06-11 11:17:20 · 194 阅读 · 0 评论 -
Java Servlet 详解:(六) Servlet 处理请求的原理
Servlet 处理请求的原理当浏览器基于 get 方式请求我们创建 Servlet 时,我们自定义的 Servlet 中的 doGet 方法会被执行。doGet 方法能够被执行并处理 get 请求的原因是,容器在启动时会解析 web工程 中 WEB-INF 目录中的 web.xml 文件,在该文件中我们配置了 Servlet 与 URI 的绑定,容器通过对请求的解析可以获取请求资源的 URI,然后找到与该 URI 绑定的 Servlet 并做实例化处理 (注意:只实例化一次,如果在缓存中能够找到这个原创 2020-06-11 11:16:05 · 460 阅读 · 0 评论 -
Java Servlet 详解:(五) Servlet 的生命周期
Servlet 的生命周期Servlet 的生命周期是由容器管理的,分别经历三各阶段:init():初始化service():服务destroy():销毁当客户端浏览器第一次请求 Servlet 时,容器会实例化这个 Servlet,然后调用一次 init 方法,并在新的线程中执行 service 方法处理请求。service 方法执行完毕后容器不会销毁这个 Servlet 而是做缓存处理,当客户端浏览器再次请求这个 Servlet 时,容器会从缓存中直接找到这个 Servlet 对象,原创 2020-06-11 10:50:33 · 269 阅读 · 0 评论 -
Java Servlet 详解:(四) Servlet 继承结构
Servlet 继承结构1.Servlet 接口2.ServletConfig 接口3.GenericServlet 是个抽象类4.HttpServlet 类1.Servlet 接口init(),创建 Servlet 对象后立即调用该方法完成其他初始化工作service(),处理客户端请求,执行业务操作,利用响应对象响应客户端请求。destroy(),在销毁 Servlet 对象之前调用该方法,释放资源。getServletConfig(),ServletConfig 是容器向 servlet原创 2020-06-11 10:47:27 · 1372 阅读 · 0 评论 -
Java Servlet 详解:(三)在 IDES 中开发 Servlet-多图警告
在 Idea 中开发 Servlet1.创新项目2.创建 Web 工程3.Web 工程结构4.为项目添加 servlet-api.jar5.在 Idea 中配置 Tomcat6.修改项目的访问路径(Content Path)1.创新项目2.创建 Web 工程3.Web 工程结构4.为项目添加 servlet-api.jar5.在 Idea 中配置 Tomcat6.修改项目的访问路径(Content Path)...原创 2020-06-11 10:43:37 · 213 阅读 · 0 评论 -
Java Servlet 详解:(二)Tomcat服务器-5300字匠心出品
Tomcat服务器1.JavaEE 应用服务器(JavaEE Application Server)2.Web 容器(Web Server)3.Tomcat 的使用1.Tomcat 下载与安装2.配置环境变量3.Tomcat 目录结构与介绍4.Tomcat 启动与关闭5.访问 Tomcat6.Tomcat 的配置7.解决控制台乱码8.修改 Tomcat 监听端口9.配置 Tomcat Manager4.Tomcat 版本说明5.Tomcat 工作原理6.Tomcat 架构讲解1.Server 组件2.Ser原创 2020-06-11 10:23:06 · 385 阅读 · 2 评论 -
Java Servlet 详解:(一)JavaEE 简介以及Servlet 简介
JavaEE 简介以及Servlet 简介1.什么是 JavaEE2.JavaEE 版本3.Web 开发历史回顾1.CGI2.CGI 缺点3.FastCGI4.Servlet 介绍1.Servlet 技术特点2.Servlet 在应用程序中的位置1.什么是 JavaEEavaEE(Java Enterprise Edition),Java 企业版,是一个用于企业级 web 开发平台。最早由 Sun 公司定制并发布,后由 Oracle 负责维护。在 JavaEE 平台规范了在开发企业级 web 应用中的原创 2020-06-11 09:33:33 · 1398 阅读 · 0 评论 -
Java 网络协议详解:(六)HTTP 协议-8000字匠心出品
HTTP 协议1.HTTP 协议介绍1.什么是超文本2.什么是 Http 协议2.HTTP 协议特点1.支持客户/服务器模式2.简单快速3.灵活4.无连接5.单向性6.无状态3.HTTP 协议发展和版本1.http1.02.http1.13.http2.01.长连接2.多路复用 (Multiplexing)3.首部压缩(Header Compression)4.服务端推送(Server Push)5.更安全4.HTTP 协议中 URI、URL、URN1.URI2.URL3.URN5.HTTP 协议的请求与响转载 2020-06-10 16:13:18 · 659 阅读 · 0 评论 -
Java 网络协议详解:(五)数据包与处理流程
数据包与处理流程1.什么是数据包2.数据包处理流程1.什么是数据包通信传输中的数据单位,一般也称“数据包”。在数据包中包括:包、帧、数据包、段、消息网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。包首部就像协议的脸。2.数据包处理流程...原创 2020-06-10 15:02:00 · 759 阅读 · 0 评论 -
Java 网络协议详解:(四)服务端口
服务端口1.端口作用2.端口分配3.常见的应用层协议与端口分配1.端口作用端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。2.端口分配操作系统中一共提供了 0~65535 可用端口范围按端口号分类:1.公认端口(Well Known Ports):从 0 到 1023,它们紧密绑定(binding)于一些服务。 通常这些端口的通讯明确表明了某种原创 2020-06-10 15:00:27 · 477 阅读 · 0 评论 -
Java 网络协议详解:(三)TCP 协议传输特点
TCP 协议传输特点1.建立连接的三次握手2.断开连接的四次挥手TCP 是一个可靠的传输协议,在创建连接时会经历三次握手,在断开连接时会经历四次挥手。1.建立连接的三次握手所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立2.断开连接的四次挥手四次挥手即终止 TCP 连接,就是指断开一个 TCP 连接时,需要客户端和服务端总共发送4 个包以确认连接的断开。...原创 2020-06-10 14:52:05 · 331 阅读 · 0 评论