Servlet 3.0/异步
文章平均质量分 95
Servlet 及 Servlet 3.0 使用方面的问题
OkidoGreen
这个作者很懒,什么都没留下…
展开
-
SpringBoot :异步开发之异步请求(1)
前言关于web开发的相关知识点,后续有补充时再开续写了。比如webService服务、发邮件等,这些一般上觉得不完全属于web开发方面的,而且目前webService作为一个接口来提供服务的机会应该比较小了吧。所以本章节开始,开始讲解关于异步开发过程中会使用到的一些知识点。本章节就来讲解下异步请求相关知识点。一点知识 何为异步请求 原生异步请求API说明 Servlet方式实现异步请求 Spring方式实现异步请求 Callable 用法 超时、自定义线程设置转载 2020-09-15 20:42:38 · 849 阅读 · 0 评论 -
SpringBoot-WebApplicationinitializer启动过程及原理分析(ServletContainerInitializer加载及HandlesType源码分析)
Spring WebApplicationinitializer位于 Sring web下的 package org.springframework.web;容器启动之后会调用该接口的on startup方法;代码如下为什么容器启动之后会调用该接口的on startup 方法,主要是由于位于它同包下的另一个类 SpringServletContainerInitializer...原创 2020-02-28 15:51:23 · 4605 阅读 · 0 评论 -
ServletContainerInitializer加载机制
最近优化项目架构针对Logback日志框架需要结合Spring的profiles配置文件达到不同运行环境自动配置参数.最开始想法是使用ServletContextListener监听器实现在项目初始化时读取Spring的profiles配置文件手动放入当前环境变量中但在测试过程中发现问题!环境变量还没有开始加载, Logback框架已经开始被加载!跟踪日志信息发现一个类Logbac...转载 2020-03-05 18:47:36 · 2337 阅读 · 0 评论 -
关于servlet3.0中的异步servlet
刚看了一下维基百科上的介绍,servlet3.0是2009年随着JavaEE6.0发布的:到现在已经有六七年的时间了,在我第一次接触java的时候(2011年),servlet3.0就已经出现很久了,但是到现在,里边的一些东西还是没有能够好好地了解一下最近在研究java的长连接,在了解jetty中的continuations机制的时候也重新了解了一下servlet3.0中的异步serv...转载 2020-02-11 22:00:09 · 676 阅读 · 0 评论 -
servlet3异步原理与实践
一、什么是Servletservlet 是基于 Java 的 Web 组件,由容器进行管理,来生成动态内容。像其他基于 Java 的组件技术一样,servlet 也是基于平台无关的 Java 类格式,被编译为平台无关的字节码,可以被基于 Java 技术的 Web 服务器动态加载并运行。容器(Container),有时候也叫做 servlet 引擎,是 Web 服务器为支持 servlet 功能...转载 2020-02-11 21:54:32 · 614 阅读 · 0 评论 -
Servlet3.0+Spring-Boot 测试 新特性-异步处理Servlet、Filter
概念部分参考:https://blog.csdn.net/qq_24598601/article/details/82824937基于原文的一些问题,修复和改进了一些地方的描述和事例一、浅谈Servlet 在Servlet 3.0 之前,一个普通 Servlet 的主要工作流程大致如下: 其中黄色阶段通常是最耗时的,因为业务处理一般涉及数据库操作,还会受到网络等的影响,而在...原创 2020-02-11 14:22:17 · 1939 阅读 · 1 评论 -
Servlet 3.0/3.1 中的异步处理
https://www.cnblogs.com/davenkin/p/async-servlet.html在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理。如果一个请求需要进行IO操作,比如访问数据库、调用第三方服务接口等,那么其所对应的线程将同步地等待IO操作完成, 而IO操作是非常慢的,所...转载 2019-03-26 14:57:10 · 621 阅读 · 0 评论 -
Servlet 3.0 新特性详解
Servlet 3.0 新特性概览1.Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置;2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置。3.Servlet异步处理,应对复杂业务处理;4.异步Listener,对于异步处理的创建、完成等进行监听;5.文件上传API简化;tom...转载 2016-07-13 16:45:00 · 937 阅读 · 0 评论 -
Servlet和JSP规范及版本对应关系
JSR 53: JavaTMServlet 2.3 and JavaServer PagesTM1.2JSR 154: JavaTMServlet 2.4JSR 154: JavaTMServlet 2.5(Maintenance Release 2)JSR 315: JavaTMServlet 3.0(This JSR will be an update to转载 2014-08-01 10:38:33 · 3351 阅读 · 0 评论 -
struts2中RequestDispatcher问题
web.xml 2.4版本里,默认的filter只拦截request。 如果使用request.getRequestDispatcher("xx").forward(request,response),属于服务器内部forward,不会被拦截器拦截,所以你需要为filter配置拦截forward才行。 struts1用的是servlet,forward也会起作用。struts2里的fi转载 2015-07-18 20:51:44 · 3822 阅读 · 0 评论 -
Servlet异常处理
Servlets异常处理实例代码 - 当一个servlet抛出一个异常,Web容器中搜索inweb.xml使用与之匹配的抛出的异常类型的异常类型元素的配置。当一个servlet抛出一个异常,Web容器中搜索inweb.xml使用与之匹配的抛出的异常类型的异常类型元素的配置。需要使用error-page元素在web.xml中指定的servlet调用若干例外情况或HTTP状态码。转载 2015-09-08 10:58:51 · 8335 阅读 · 1 评论 -
在web.xml中classpath和classpath*的区别
写spring的代码到现在,一直都很习惯性的拷贝web.xml中的内容,没怎么在意里面的内容,最近认真研究了下,很多东西都不是很理解,特别是classpath和classpath*的区别,研究了许久才搞明白,记录下备忘。classpath 和 classpath* 区别:classpath:只会到你指定的class路径中查找找文件;classpath*:不仅包含转载 2015-10-06 19:30:12 · 7274 阅读 · 0 评论 -
Spring管理filter和servlet
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-09-10 05:44:12 · 1414 阅读 · 0 评论 -
web.xml中出现<servlet>default</servlet>是什么意思?
转:http://blog.csdn.net/hello5orld/article/details/9407905在web.xml文件中经常看到这样的配置<servlet-name>default</servlet-name>,这个配置的作用是:对客户端请求的静态资源如图片、JS文件等的请求交由默认的servlet进行处理,如下所示: [html] view p...转载 2017-10-17 10:14:21 · 4905 阅读 · 0 评论 -
深入理解web.xml中配置/和/*的区别
https://blog.csdn.net/jinghuashuiyue2/article/details/78589655 在用SpringMVC进行web开发的时候,如果将DispathcerServlet对外访问的虚拟路径配置成/时,需要在Spring的配置文件中配置<mvc:default-servlet-handler/>这一项,那么为什么需要配置这一项呢?如果对外...转载 2018-10-31 12:50:06 · 4631 阅读 · 2 评论 -
Web容器中DefaultServlet详解
https://blog.csdn.net/qq_30920821/article/details/78328608Web容器中DefaultServlet详解一、什么是defaultServlet 我们以最熟悉的Tomcat服务器为例。我们都知道Jsp和servlet都需要web容器才能运行。但是实际上呢我们的web应用中可以没有任何servlet或者jsp(至少表面上是这样的)只需要...转载 2019-01-22 10:13:44 · 2285 阅读 · 1 评论 -
servlet中service() doGet() doPost() 方法
HttpServlet 里的三个方法:service(HttpServletRequest req, HttpServletResponse resp) ,doGet(HttpServletRequest req, HttpServletResponse resp), doPost(HttpServletRequest req, HttpServletResponse res)的区别和联系:转载 2014-09-02 14:19:04 · 1549 阅读 · 0 评论 -
Servlet 生命周期、工作原理
Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。service():它是S转载 2014-09-02 14:13:56 · 1244 阅读 · 0 评论 -
Listener、Filter、Servlet 初始化顺序
Listener、Filter、Servlet都有一个初始化的过程,对应的方法分别为:contextInitialized(ServletContextEvent arg0)init(FilterConfig filterConfig)init(ServletConfig config) 那么它们的初始化顺序是什么呢?Listener > Filte转载 2014-04-16 21:04:24 · 1628 阅读 · 0 评论 -
servlet 2.5的web.xml
17 March 2007sun从来不把servlet各个版本的web.xml的规格公布一下,即使上网查找,也很难发现。倒是跟随支援的servlet容器会发布一些范例程序,好运的话,里面将会有最新版本的web.xml写法,比如说,tomcat6正式版里面有了servlet 2.5的写法,如下: xmlns="http://java.sun.com/xml/ns/j2ee"转载 2014-04-17 12:53:20 · 8868 阅读 · 1 评论 -
Struts1 和 Struts2 是否是单例
struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了;struts 1的Action是单实例的,因为它的数据保存在Form类中,多线程环境下,转载 2014-04-08 15:54:20 · 5668 阅读 · 1 评论 -
Java和Jsp 中 request.getHeader() 详细说明
== JAVA 部分request.getHeader() 详细说明==System.out.println("rotocol: " + request.getProtocol()); System.out.println("Scheme: " + request.getScheme()); System.out.println("Server Name: " + request.ge转载 2012-11-02 09:44:57 · 3234 阅读 · 0 评论 -
jsp下载文件的实现方法 及 注意
jsp中实现文件下载 (一) 最简单的方式是在网页上做超级链接,如:点击下载。 但是这样服务器上的目录资源会直接暴露给最终用户,会给网站带来一些不 安全的因素。 因此可以采用其它方式实现下载,可以采用: 1、RequestDispatcher的方式进行; 2、采用文件流输出的方式下载。 (推荐) 1、采用RequestDispatcher的方转载 2012-11-09 12:18:30 · 2486 阅读 · 0 评论 -
JAVA WEB应用下监听与定时器的配合使用
在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发执行某些操作。这个时候监听与定时器的配合使用就基本可以实现这个需求了。 1.创建一个监听的SERVELET,这个类继承javax.servlet.http.HttpServlet并且实现javax.servlet.ServletContextListenerpackage com.bnd转载 2012-11-23 10:29:05 · 1524 阅读 · 0 评论 -
从request获取各种路径总结
关于request.getRealPath() 1、此方法已过时,现在可替换的实现方法有 request.getSession().getServletContext().getRealPath("/") 在Servlet 里用this.getServletContext().getRealPath("/");获得绝对路径。 str转载 2013-05-10 15:12:01 · 5027 阅读 · 0 评论 -
web.xml文件中<mime-mapping>
最近做Jeecms项目中发现使用IE9下载文件(doc,docx等)时,浏览器有时直接打开文件显示乱码有时可以下载但下载后是一文件夹是里面一堆以xml文件(微软的office存储文件信息主要以xml文件存储),后来跟踪代码发现后台默认是以text形式输出文件,然后打开web.xml文件发现[html] view plaincopymime-m转载 2013-10-28 13:44:39 · 4917 阅读 · 0 评论 -
在web.xml中配置error-page
知道在web.xml中有两种配置error-page的方法,一是通过错误码来配置,而是通过异常的类型来配置,分别举例如下: 一. 通过错误码来配置error-page Eg. Xml代码 500 /error.jsp 上面配置了当系统发生 500错误(即服务器内部错误)时,跳转到错误处理页面error.j转载 2013-11-13 13:39:17 · 3777 阅读 · 0 评论 -
关于request.getHeader("Referer")的说明
request.getHeader("Referer")获取来访者地址。只有通过链接访问当前页的时候,才能获取上一页的地址;否则request.getHeader("Referer")的值为Null,通过window.open打开当前页或者直接输入地址,也为Null。若从 http://XXXX/A.JSP 上 点击 a标签 至 http://XXXX/b.jspb.jsp 获转载 2013-11-13 16:59:25 · 3444 阅读 · 0 评论 -
不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
xml version="1.0" encoding="UTF-8"?> web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo转载 2014-06-30 16:18:43 · 41775 阅读 · 4 评论 -
简单理解java.lang.IllegalStateException异常:简单分析和简单解决方案
我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流.例如在JSP使用: response.reset(); response.setContentType(”application/vnd.ms-excel”); OutputStream s = response.getOutputStream(); 抛出异常:ERROR [Engine转载 2014-02-07 18:31:28 · 14207 阅读 · 1 评论 -
web.xml不认taglib标签的解决方法
在web.xml不认taglib>解决办法: 如果头是这样的:> 直接在后面加 taglib> taglib-uri>/WEB-INF/struts-logic.tldtaglib-uri> taglib-location>/WEB-INF/struts-logic.tldtaglib-location> ta转载 2014-08-04 13:14:02 · 3402 阅读 · 0 评论 -
pageContext.pushBody() getOutputStream方法冲突
out.clear(); out = pageContext.pushBody(); 复制代码out = pageContext.pushBody(); 是什么意思?为什么不加入了就报异常: java.lang.IllegalStateException: getOutputStream() has already been called for this response 复制代转载 2013-10-24 11:41:45 · 7076 阅读 · 0 评论 -
XML中DTD,XSD的区别与应用
XML我们并不陌生,在企业级应用中有很广的用途。具体就不再说,下面介绍一下DTD,XSD的区别并以XSD为例看spring中定义与使用。1.DTD(Documnet Type Definition)DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档转载 2014-08-14 20:15:14 · 1964 阅读 · 1 评论 -
<context-param>与<init-param>的区别与作用
看到一篇关于web.xm文件中标签的讲解,顺带还阐述了容器的工作流程,因此转载此,以供参考,原文地址:与的区别与作用的作用:web.xml的配置中配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上转载 2013-10-28 13:45:49 · 3312 阅读 · 0 评论