牛顿有一句话:站在巨人的肩上,我们可以看的更远!这里我修改一下:站在前辈的经验之上,我们这些晚辈前进的更远!因此希望前辈们能够不吝赐教!
今天第一次去面试,由于急切希望暑假期间能够找到一份软件方面的工作,连期末考试都不放在心上,精心准备了一下JavaWEB开发方面的知识。结果到面试的时候,HR问我的第一个问题就是Servlet的doGet方法与doPost方法有什么区别,当时就有点晕。。。。。。就这个好像没看,因为在某些地方好像看到过doGet方法不经常用所以就没有太在意正不巧HR问道这个问题哎。。。。
其实很多时候我们自己觉得某一些方面的知识掌握的很好,但是我们终会忽视一些基本的东西,好像是越基本的东西我们越容易忽略;所以以后一定要对基础的东西理解透!下面是自己对Servlet方面知识的理解,希望前辈可以指导一下,我们这些初学者会感激涕零的,你们(帮助我们的人就会想一部电视剧中所说:你会万福哦!)
Servlet容器(Tomcat)的理解:
任何一个容器都应该是一个完整的可以运行执行某项功能的应用程序,因此Serclet容器本质上也是一个程序;当我们启动一个Servlet容器时(实质就是创建一个类的实例),它会解析(通常说加载)WEB.XML文件,获取Servlet.class文件以及Servlet初始化的一些参数,然后将他们传递给其本身的相关方法,这些方法会利用java中的反射机制动态创建Servlet实例并运行,然后这个实例以多线程的方式处理来自于客户端的请求,这可能就是为什么修改处于运行状态的Servlet容器中的Servlet类以及配置文件并不起效的原因吧!
Request与Response的理解:
书上通常说Request包装了用户的请求参数,实质上是Request这个类里面包含了服务端与客户端之间的输入流变量InputStream;Request类里则提供了解析这个输入流变量的方法;而Request类则相反,它是包含了输出流变量OutPutStream;它会把服务端处理的结果写入到流中,然后客户端会解析成HTML格式并以网页的形式显示。
Application与Session的理解:
Servelt作为一个类,该类以多线程的方式与客户端交互(一般的网络编程都是采用这种方式),其包含一个主体方法,不断循环检测有无用户连接,有的话就为该用户启动一个线程,这个线程仅仅负责与本用户的交互。这时我们可以把Applicqtion看做是Aervlet类的一个变量(确切的说是一个集合类),而Session看做是每个与用户交互的线程里的变量(更确切的说是一个集合类),这样的话Session可以跟中用户的状态,而Application则是说有线程均可以访问的对象,所以书上说Application是一个应用程序级别的全局变量;这里不过这里会有一个很明显的问题,就是Application存在线程安全问题,所以实际中,与用户交互的线程对它的访问一定是同步的。
这里还有个疑惑:客户端请求一个JSP页面并且这个页面中又有一个提交到特定Servlet类的表单时,Servlet容器怎么处理?即是处理的大概步骤或流程?
分享到:
相关推荐
Jakarta Servlet API 4.0是Servlet规范的最新版本,它包含了对HTTP协议处理、生命周期管理、会话跟踪、安全性和性能优化等方面的全面增强。本篇文章将围绕jakarta-servletapi-4-src.zip这个源码包,深入剖析Servlet ...
它详细描述了servlet技术规范的各个方面,包括对servlets的定义、生命周期、事件监听、安全性、异步处理等。Servlet3.1规范被包含在JavaEE7平台中,而Servlet3.0规范则被包含在JavaEE6平台中。这些规范的官方网站...
总的来说,基于Servlet的购物系统是一个综合性的项目,涵盖了Web开发的多个方面,包括服务器端编程、数据库操作、用户会话管理、页面渲染等。通过这样的实践,开发者不仅可以深化对Servlet技术的理解,还能提升整体...
Servlet是Java Web开发中的核心组件,它用于扩展服务器的功能,处理HTTP请求并返回响应。...通过学习达内servlet的相关课程,开发者可以深入理解这些概念,并能够熟练地在实际项目中运用Servlet来构建动态Web应用。
本文将深入探讨Servlet工程的各个方面,包括其工作原理、部署过程以及如何在Tomcat服务器上运行。 Servlet是Java Servlet API的一部分,它是一个接口,定义了Web服务器如何与Java类交互来处理HTTP请求。Servlet容器...
综上,Servlet 2.4 API文档是Java Web开发者的必备参考,它涵盖了Servlet的各个方面,包括核心接口、生命周期管理、会话跟踪、过滤器、异常处理等,为构建基于Java的Web应用程序提供了强大的支持。通过深入学习和...
在本篇资源摘要中,我们将详细介绍 Servlet 应用的基本原理和配置过程,以帮助初学者更好地理解和掌握 Servlet 技术。在本文中,我们将从 Servlet 的基本概念、接口、生命周期、配置文件、部署过程等方面进行阐述。 ...
在这个资料包中,我们可以深入学习到Servlet的各个方面,包括其生命周期、请求处理、响应生成以及与JSP(Java Server Pages)的协同工作。 【描述】"韩顺平 servlet 讲解的全部源代码及图片和web.xml"表明这个资源...
总的来说,"Servlet API 中文手册"将涵盖以上所有内容,并可能包括更多关于Servlet编程的细节,如异步处理、安全性、性能优化等方面的知识。这份详尽的手册对于Java Web开发者来说,无疑是一份宝贵的参考资料,能够...
Servlet部分属于进阶主题,说明实验旨在让初学者深入理解如何使用Servlet来构建Web应用程序。 在提供的部分内容中,我们可以看到一个名为`Select_Score`的Servlet类的实现。这个Servlet负责处理HTTP的POST请求,...
学习这些源码有助于提升开发者对JavaEE框架的理解,尤其是对于服务器端的性能优化、错误调试、自定义扩展等方面有着极大的帮助。同时,这也有利于培养开发者解决问题的能力,因为源码提供了问题发生的上下文,使得...
总的来说,"用servlet的商品购物系统"是一个实践性的项目,涵盖了Web开发的基本流程和技术,包括前后端交互、数据处理、用户接口以及系统架构等多方面知识,对于学习和理解Servlet以及Java Web开发有很好的实践价值...
【Servlet API 中文帮助概述】 Servlet API 是 Java 平台上的一个核心组件,...这份中文帮助文档是学习和查阅 Servlet API 的宝贵资料,对于理解Servlet的生命周期、处理流程以及配置管理等方面都有着重要的指导作用。
在Java Servlet 2.3规范中,有几个关键的方面值得深入理解: 1. **Servlet生命周期**:Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。在web应用启动时,Servlet容器(如Tomcat)会加载Servlet类并调用其...
提供的压缩包文件可能包含了Servlet和JSP的基本概念、配置、开发示例以及一些高级主题,例如自定义标签、异常处理、安全性等方面的内容。通过阅读这些PDF文档和代码示例,你可以逐步深入理解和掌握Servlet和JSP技术...
Servlet容器是Web应用程序的核心组成部分,它负责管理和执行Servlet,Servlet是一种Java编程...通过学习这个过程,开发者能更好地理解Servlet容器的工作机制,这对于开发、调试和优化基于Servlet的Web应用至关重要。
本Java Servlet帮助文档全面深入地介绍了这一关键概念,旨在帮助开发者更好地理解和掌握Servlet技术。 一、Servlet基础 Servlet是Java平台上的一个接口,由Java Servlet API提供,定义了Web服务器如何与Java代码...
首先,我们来深入理解Servlet的工作原理。Servlet是Java类,它们继承自javax.servlet.Servlet或javax.servlet.http.HttpServlet接口。当用户通过浏览器向服务器发送HTTP请求时,Servlet容器(如Tomcat、Jetty等)会...
在IT行业中,Android客户端与服务器的交互是移动应用开发中的重要环节。本项目涉及的是一个基于Java Servlet技术的服务器端...在实际开发中,还需要考虑安全性、性能优化、错误处理等方面,以提供稳定、高效的服务。
首先,让我们理解Servlet的工作原理。Servlet是一个Java类,它扩展了`javax.servlet.Servlet`或`javax.servlet.http.HttpServlet`接口。每当客户端(如浏览器)向服务器发送HTTP请求时,服务器会创建Servlet的一个...