servlet

6.Servlet

拥有回忆 提交于 2019-12-03 13:40:26
  Servlet 是运行在Web服务器端的Java程序,它使用Java语言编写,与Java程序的区别是Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持,在Java Web应用方面,Servlet的应用占有十分重要的地位,它在Web请求的处理功能也非常强大。 Servlet与JSP的区别: 1.角色不同:JSP页面可以存在HTML代码和Java代码并存的情况,而Servlet需要承担客户请求和业务处 理的中间角色,只有调用固定的方法才能将动态内容输出为静态的HTML,所以JSP更具有显示层角色; 2.编译时间不同:Servlet需要在Java编译器编译后才能运行,如果它在编写完成或修改后没有重新编译 就不能运行在Web容器中。而JSP由JSP Container对其进行管理,JSP Container对JSP进行自动编译,不需 要手动执行编译就可执行; 3.速度不同:因为Java Container在每次执行不同内容的动态JSP页面时都要对JSP自编译,而Servlet 在编译之后可以直接获取和输出动态内容,所以JSP的效率比Servlet低。   Servlet API常用的接口和类:   1.Servlet接口    Servlet的运行需要Servlet容器的支持

【整理】WEB 容器、WEB服务和应用服务器的区别与联系

送分小仙女□ 提交于 2019-12-03 13:36:14
对于一个不了解 WEB 开发的人来说,下面的概念是为了免于被别人鄙视和忽悠的~~ 【 web 容器 】 何为容器: 容器是一种服务调用规范框架,J2EE 大量运用了容器和组件技术来构建分层的企业级应用。在 J2EE 规范中,相应的有 WEB Container 和 EJB Container 等。 WEB 容器给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使 JSP,SERVLET 直接跟容器中的环境变量交互,不必关注其它系统问题(从这个角度来说,web 容器应该属于架构上的概念)。web 容器 主要由 WEB 服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE 等。 若容器提供的接口严格遵守 J2EE 规范中的 WEB APPLICATION 标准。我们把该容器叫做 J2EE 中的 WEB 容器。 WEB 容器更多的是跟基于 HTTP 的请求打交道。而 EJB 容器不是。它是更多的跟数据库、其它服务打交道。 容器的行为是 将其内部的应用程序组件与外界的通信协议交互进行了隔离,从而减轻内部应用程序组件的负担(实现方面的负担?)。 例如,SERVLET 不用关心 HTTP 的细节,而是直接引用环境变量 session、request、response 就行、EJB 不用关心数据库连接速度、各种事务控制,直接由容器来完成。 【 Web服务器 】

Servlet 3.0以上版本使用@WebServlet注解配置映射

馋奶兔 提交于 2019-12-03 13:36:01
以前的Servlet都是在web.xml中进行配置,导致web.xml中各个Servlet的映射非常杂乱无章,后期也很难维护 本篇文章将详细阐述如何使用Servlet 3.0的新特性使用@WebServlet注解进行配置 Let's do it ! 首先,使用eclipse或者IntelliJ IDEA创建一个Java Web项目 输入项目名后点击next,然后再点击next 到这一步的时候注意一下: 勾选一下生成web.xml的选项 然后我们点击finish完成 项目目录如上图所示 接下来我们先创建一个JSP页面,用于访问Servlet 然后再新建一个包,放置Servlet 下面我们创建一个Servlet,首先选中包,右键点击New->Servlet 然后点击Servlet,输入Servlet的名字之后 然后点击Next Initialization parameters指的是Servlet初始化时的参数 URL mappings指的是访问该Servlet时的路径名 然后我们再次点击Next 在Interfaces选项中可以Add需要实现的接口,但是我们这次只做演示,所以不需要太多复杂的功能 下面这些复选框可以指定需要实现的方法,一般只需使用doGet和doPost,其他的方法以后深入学习之后再进行使用,然后我们点击Finish 创建好的Servlet以及项目目录如下:

tomcat学习笔记之servlet 容器

十年热恋 提交于 2019-12-03 13:08:38
1、servlet 容器用来处理请求servlet资源、为客户端封装Response 对象的模块 2、tomcat 容器分四种: Engine:整个Catalina servlet 引擎 Host:包含一个或多个Context 容器的虚拟主机 Context:表示一个web应用程序 Wrapper:表示一个独立的servlet 3、Container 接口 Engine接口,标准实现类 StandardEngine Host接口,标准实现类 StandardHost Context接口,标准实现类 StandardContext Wrapper接口,标准实现类 StandardWrapper 四个借口都继承至Container 接口 实现类都继承至ContainerBase 抽象类 在org.apache.catalina.core包里面 4、一个容器可以有0个或多个低级子容器 Engine > Host >Context > Wrapper 包含关系 不可以倒置 5、容器可以包含支持的组件: 载入器、记录器、管理器、领域、资源等 loader、logger、manager、realm、Resource 6、部署应用时,tomcat 管理员可以通过编辑配置文件(server.xml)来决定使用哪种容器 这是通过 引入容器中的管道(pipeline)和阀(value)的集合 来实现的

Java Servlet:服务器小程序

▼魔方 西西 提交于 2019-12-03 12:08:24
servlet:服务器小程序 servlet是一个接口,接口是一种规范,因此servlet是一种规范 一个类声明为抽象类的原因: 不包含抽象方法,不想被实例化 包含抽象方法,子类有对抽象方法的不同实现 什么是Servlet容器? Servlet容器,顾名思义里面存放着Servlet对象。我们为什么能通过Web服务器映射的URL访问资源?肯定需要写程序处理请求,主要3个过程: 接收请求:web服务器 处理请求: servlet 响应请求:web服务器 servlet容器: tomcat Jetty Undertow 参考 servlet的本质是什么,它是如何工作的? How Spring Web MVC Really Works An introduction to Tomcat servlet interactions servlet的本质是什么,它是如何工作的? 几个概念:Servlet、Servlet容器、Tomcat 来源: https://www.cnblogs.com/shengulong/p/11795639.html

[spring学习4] MVC

旧时模样 提交于 2019-12-03 12:04:15
简介 从前的网页程序是将业务代码嵌入到JSP页面中,耦合性较高。 后来将前后端的代码分离后,采用MVC架构,M:模型,负责数据模型的控制,V:视图,负责视图的展示,C:控制器,负责将数据模型放到相应的视图中渲染。 请求过程 ┌─────────┐ ↗│ 处理器映射│ 2/ └─────────┘ / 3 请求 1 ┌─────────────────┐ --------------------> ┌─────┐ ----->│DispatcherServlet│ <--┌─────────────┐ 4 │控制器│ └─────────────────┘ │模型及逻辑视图名│ ---│ │ \ \ └─────────────┘ └─────┘ \ \5 ┌────────┐ 6\ --->│视图解析器│ ↘ └────────┘ 响应 7 ┌────┐ <----------------------│视图 │ └────┘ 过程: 请求:请求离开浏览器时,会带有用户所请求内容的信息,至少会包含请求的URL。(还可能带有如表单信息) DispatcherServlet:将请求发送给Spring MVC控制器(controller) DispatcherServlet :与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器(front

servlet接口实现类HttpServlet以及开发中一些细节

拟墨画扇 提交于 2019-12-03 11:42:58
1、 但是eclipse不会帮我们改web.xml配置文件,所以我们也要在web.xml文件里面手动改 2、 这个样子的话你在用浏览器访问的时候链接的映射就改成了t_day05,这个主要用于你建立完一个应用后想改名字,这个时候就可以这样做 3、 如果你在web.xml文件中给一个web应用多个映射,那么访问的时候在这几个链接中都访问的是同一个web应用 像这个url-pattren就是一个 伪静态 ,因为他映射的地址是一个1.html,但是实际上这是一个动态Java文件 4、 在Context.xml文件中加上这一行代码,服务器就会监视web.xml文件,如果这个文件改动,那么服务器就会重新加载它 5、 6、 你可以覆盖重写HttpServlet的init()方法,和destroy()方法。里面加一个打印语句就可以证明了 7、 在web.xml文件中,如果配置load-on-startup这个标签,那么在服务器启动后就会自动创建一个servlet对象,不需要第一个用户去触发,里面的数字就是它们创建的优先级(数字越小越先创建) 8、 像你输入的这个链接,你的服务器上面没有映射到这个地址的servlet。那么就会去找你的缺省servlet 如果你没有配置缺省servlet,那么服务器会自动给你一个。如果你配了一个缺省servlet那么服务器就不会给你了 你访问web资源的时候

关于servlet中properties配置文件的存放位置

∥☆過路亽.° 提交于 2019-12-03 11:31:30
本人是新手,在自学java web,再做一个练手项目时,在properties配置文件具体存放位置遇到了问题,现已基本解决,分享一下解决办法,还请高手勿喷。 在程序中载入properties配置文件时,我先在只知道两种办法:1.是利用servlet中的servletContext得到;2.是利用java类加载本地文件的方式得到。下面来具体说一下两种方法: //1. 首先介绍利用servletContext的方法,这种方法可以直接将properties配置文件放在WebRoot目录下 //读取位于WebRoot中的userInfo.properties文件 //getResourceAsStream方法会以InputStream方式返回一个IO流 InputStream inputStream = this.getServletContext().getResourceAsStream("userInfo.properties"); //创建properties Properties properties = new Properties(); properties.load(inputStream); out.println("username " + properties.getProperty("username")); out.println("password " +

Java基础面试题总结(转)

陌路散爱 提交于 2019-12-03 11:22:11
目录 索引 Java基础知识篇 Java web基础知识总结 Java集合篇常见问题 Java基础知识篇 面向对象和面向过程的区别 面向过程:   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象:   优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点:性能比面向过程低 Java语言有哪些特点?   1,简单易学;2,面向对象(封装,继承,多态);3,平台无关性(Java虚拟机实现平台无关性);4,可靠性;5,安全性;6,支持多线程(C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程 程序设计,而Java语言却提供了多线程支持);7,支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的,因此Java语言不仅支持网络编程而且很方便);8,编译与解释并存; 什么是字节码?采用字节码的最大好处是什么?什么Java是虚拟机? 先看下 java 中的编译器和解释器:   Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口

MVC-Mode2

醉酒当歌 提交于 2019-12-03 11:14:16
开发步骤   Pojo:Plain Object java Object; 原型对象 ; 实体类 (Entity),Domain;      一个 pojo 对应一张表 ;     Pojo 的类名和表名一样      Pojo 的属性和表的字段一样      Pojo 的对象相当于表里面的一条记录 ;    Dao:DataAccess Object: 数据访问层 ;      一个 dao 对应一张表 ;      Dao 里面存储的是表的 crud 操作 ;      绝对不允许 a 表的 dao 操作 b 表 ;    Service: 一个 Service 对应多张表 ( 模块的意思 )    单元测试类 :main 方法测试      一个 Service 对应一个 main 方法    Servlet: 一个 Servlet 持有多个 Service;( 交叉 )    Jsp: 一个 Servlet 有多个 jsp; 重要:   读别人代码的时候,是从上往下读   自己开发:从下往上开发 来源: https://www.cnblogs.com/zxz666666/p/11793094.html