servlet

容器、应用服务器和web服务器的区别

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-25 07:34:58
什么是容器 servlet没main()方法。它们受控于另一个java应用,这个java应用称为容器(Container) Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向servlet请求时,服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器。要由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法。 客户-->请求--->Web服务器应用--->web容器应用--->servlet-------->web服务器主机 客户<--响应<---Web服务器应用<---web容器应用<---servlet<--------web服务器主机 容器提供: 通信支持:建立serverSocket、监听某个端口、创建流等; 生命周期管理:控制servlet生死,负责加载类、实例化和初始化servlet、调用servlet方法及使servlet实例能够被垃圾回收; 所线程支持:容器会自动为接收的每个servlet请求创建一个新的java线程,运行完响应HTTP服务方法线程就结束。 生命方式实现安全:可以使用xml部署描述文件来配置(或修改)安全性,而不用硬编码写到servlet类代码中。 JSP支持。 容器处理servlet 客户---->http请求---->容器----->servlet 容器---> 创建 请求

SSM整合的配置信息

泄露秘密 提交于 2020-03-24 12:22:40
一、配置pom.xml文件    依赖如下: <!-- 统一管理jar包的版本号 --> <properties> <spring-version>4.3.2.RELEASE</spring-version> <spring-aspectj>1.9.2</spring-aspectj> <mybatis-version>3.4.6</mybatis-version> <myabtis-spring-version>1.3.2</myabtis-spring-version> <mysql-version>5.1.38</mysql-version> <c3p0-version>0.9.5.2</c3p0-version> <slf4j-log4j-version>1.7.25</slf4j-log4j-version> <jsp-api-version>2.1</jsp-api-version> <servlet-version>3.1.0</servlet-version> <jstl-version>1.2</jstl-version> <jackson-version>2.9.9</jackson-version> <junit-version>4.12</junit-version> <pagehelper-version>5.1.2</pagehelper-version

servlet的执行原理与生命周期

依然范特西╮ 提交于 2020-03-24 08:12:15
3 月,跳不动了?>>> 一、先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet? 先看一下tomcat的容器模型: 从上图可以看出 Tomcat 的容器分为四个等级,真正管理Servlet 的容器是Context 容器,一个 Context 对应一个 Web 工程 Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类Wrapper(StandardWrapper)的容器,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。 这里解释一下servlet的包装类:StandardWrapper,这里有个疑问,为什么要将 Servlet 包装成 StandardWrapper 而不直接是 Servlet 对象。因为StandardWrapper 是 Tomcat 容器中的一部分,它具有容器的特征,而 Servlet 为一个独立的 web 开发标准,不应该强耦合在 Tomcat 中。 除了将 Servlet 包装成 StandardWrapper 并作为子容器添加到 Context 中,其它的所有 web.xml 属性都被解析到 Context 中,所以说 Context 容器才是真正运行 Servlet 的 Servlet 容器。一个 Web

Servlet 技术全总结 (已完成,不定期增加内容)

假装没事ソ 提交于 2020-03-24 07:33:03
Servlet 技术全总结 (已完成,不定期增加内容) https://www.cnblogs.com/jokerjason/p/5751677.html Servlet是独立于平台和协议的服务器端的java应用程序,处理请求的信息并将其发送到客户端。 Servlet的客户端可以提出请求并动态获得响应。 Servlet动态生成web页面,担当浏览器或其他客户端发出的请求与HTTP服务器上的数据库或应用程序之间的中间层。 对于所有客户端请求,都只需要创建一次Servlet实例,因此,节省了大量内存。 Part 1 Servlet运行原理 web服务器收到一个http请求后,判断请求内容,若是静态页面数据,自行处理,若为动态数据,交给Servlet容器,Servlet容器找到相应Servlet实例处理;处理结果交给web服务器,再转交给客户端。 针对同一个Servlet,Servlet容器会在第一次收到HTTP请求时建立一个Servlet实例,然后启动一个线程,第二次收到http请求后,Servlet容器无需创建相同Servlet ,仅开启第二个线程来处理请求。 ----->多线程的方式有效提高执行效率,降低服务器负担。 Part 2 Servlet 优势 Servlet具有优良的跨平台性; 可移植性良好:java语言编写,Servlet API标准完善

XML DOM解析

十年热恋 提交于 2020-03-24 06:35:43
创建一个xml文件 建一个文件夹导入jar包 building add 点入 public static void main(String[] args) throws DocumentException, ClassNotFoundException, InstantiationException, IllegalAccessException { // 1.获取解析器 SAXReader sax=new SAXReader(); // 2.获得document文档对象 Document doc=sax.read("src/com/oracle/demo04/web.xml"); // 3.获取根元素 Element element=doc.getRootElement(); // 4.判断元素名称为servlet的元素 Element servlet=element.element("servlet"); // 5.获取servlet-class元素 Element className=servlet.element("servlet-class"); //开始反射 获取MyServlet字节码文件对象 Class c=Class.forName(className.getText()); //快速创建对象 Object obj=c.newInstance(); //向下转型

SpringMVC整合FreeMarker实例

不羁的心 提交于 2020-03-24 01:23:31
FreeMarker作为模板引擎,是比较常用的。 FreeMarker官方文档地址为:https://freemarker.apache.org/ 现在浏览器或者翻译工具这么多,对于英文方面,我想大多数天天敲代码的,奋战在前线的同志们,对于很多编程实用单词应该不陌生,如果语文老师不是XX老师教的,我想通过Google或者其他翻译工具翻译一些意思,我想大家应该是可以看的懂,和判断是否存在问题的。 其实我个人英语,也不怎么样,曾经就采取过这样一种策略,来记单词,称之为"趣味单词记录法",这个法,我想只要将Good morning 读成鬼德莫你的人,应该能够很好的体会这种乐趣,记得正是这种乐趣,使我从学校到现在工作,对于英语也不是特别恐惧,当然了,这样也会导致很多问题,比如发音不标准等等。 这里不作讨论,这里想表达的还是希望,计算机专业的同胞或者其他转行或者感兴趣的朋友们,不要因为英语而停止对其研究学习或者放弃。 比如那些常见的Java代码生成器,基本都是通过编写ftl文件,也就是FreeMarker模板文件,通过调用对应的方法来达到代码生成的目的。 其实FreeMarker同JSP或者Volocity整合SpringMVC,并无多大的区别,web.xml基本都是那一套。 spring.xml配置的基本是扫描dao,扫描service,整合MyBatis或MyBatis

SpringMVC 集成 Velocity 模板引擎

只谈情不闲聊 提交于 2020-03-24 01:23:13
本文通过 maven 项目中集成 1、引入 SpringMVC 与 Velocity 需要的依赖 <!-- SpringMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.7.RELEASE</version> </dependency> <!-- velocity --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency> 2、在resources 目录下创建 SpringMVC 框架配置文件 dispatcherServlet.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www

request对象和response对象

我是研究僧i 提交于 2020-03-23 18:53:43
request对象和response对象 web服务器收到客户端的HTTP请求,会针对每一次请求分别创建一个用于代表请求的request对象和代表响应的response对象。 1.要得到 客户机提交过来的数据 ,只需要找 request对象 就行了。 2、要 向客户机输出数据 ,只需要找 response对象 就行了。 一、response对象 1.1向客户端发送数据,以字节为单位(一定要先设置编码方式,再输出) [java] view plain copy String data = "你好,中国1"; OutputStream out = response.getOutputStream(); out.write(data.getBytes()); //查找本机默认编码进行编码 [java] view plain copy String data = "你好,中国2"; OutputStream out = response.getOutputStream(); out.write(data.getBytes( "UTF-8")); //以UTF-8进行编码 //告诉浏览器编码方式 response.setHeader ( "Content-Type", "text/html;charset=UTF-8" ); [java] view plain copy String

SpringMVC:JSON形式输出(基于Fastjson)

北战南征 提交于 2020-03-23 09:32:34
在Spring3.0中,@ResponseBody标记可以将对象”封装”为JSON形式的数据,并输出,下面的例子中使用的是阿里的Fastjson JSONaz解析工具, 在spring配置文件中加入一些额外的配置。 1.依赖配置 <properties> <spring.version>4.1.4.RELEASE</spring.version> <fastjson.version>1.2.11</fastjson.version> <javax.servlet.version>2.5</javax.servlet.version> <jackson.version>1.9.10</jackson.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> <

Tomcat

北城以北 提交于 2020-03-23 00:07:55
1,Tomcat介绍 Tomcat是apache软件基金会项目中的一个核心项目,有apache和sun其他一些公司及个人共同开发而成的。 Tomcat服务器是一个免费的开源的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不多的场合下被普遍使用,是开发和调试jsp程序的首选。 可以这样认为,当一台服务器配置好apache服务器以后,可以利用apache服务器来响应我们的html页面的访问请求,而tomcat是apache服务器的扩展,当你运行tomcat的时候实际上是作为一个apache独立的进程单独运行的,apache服务器为html页面提供服务的,而tomcat是运行jsp页面和servlet,另外tomcat也能具有处理html页面的功能,但是处理静态的能力没有apache处理好。 jsp:java服务器页面,是一个简化的servlet设计,在传统的html页面里面增加了java代码; jsp=“html+java代码+jsp标签” 2,tomcat组件 servlet(应用程序或者容器)是java提供的用于开发web服务器应用程序的一个组件,运行在服务器端,有servlet用于生成动态页面内容,servlet是平台读立的java类,编写一个servlet,实际上就是安装servlet规范编写一个java类。 2.1,什么是servlet?