牛顿有一句话:站在巨人的肩上,我们可以看的更远!这里我修改一下:站在前辈的经验之上,我们这些晚辈前进的更远!因此希望前辈们能够不吝赐教!
今天第一次去面试,由于急切希望暑假期间能够找到一份软件方面的工作,连期末考试都不放在心上,精心准备了一下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容器怎么处理?即是处理的大概步骤或流程?
分享到:
相关推荐
Servlet引擎提供网络服务,能够理解MIME请求,并提供一个运行Servlet的容器。 javax.servlet.Servlet接口定义了在Servlet的生命周期中特定时间以及特定顺序被调用的方法。 Servlet的解析和载入 Servlet引擎解析并...
JavaEE的知识点,包括servlet,jdbc,js,ssh框架的基础,原理。 收集总结了许多学长面试不同公司时面到的实际面试题。以及分享了回答问题的经验。 自己在去年10月份校招时,感觉有点用,特别是在给自己查漏补缺方面...
你会了解到怎么写Servlet和JSP,容器的哪些方面很受推崇,以及哪些方面让它倍受责难,如何使用JSP表达式语言,JSP里哪些不该写,怎么编写部署描述文件,如何编写安全的应用,以及如何使用一些服务器端设计模式。...
在源码方面,网上在线报名系统采用了Servlet和JSP的组合,确保了系统的稳定性和高效性。通过运用Servlet处理业务逻辑和JSP负责页面展示,系统实现了用户注册登录、信息填写、报名提交等功能,满足了在线报名的基本...
你会了解到怎么写Servlet和JSP,容器的哪些方面很受推崇,以及哪些方面让它倍受责难,如何使用JSP表达式语言,JSP里哪些不该写,怎么编写部署描述文件,如何编写安全的应用,以及如何使用一些服务器端设计模式。...
开发工具及相关技术:Java+jsp+Servlet+Eclipse+MySql。 图书管理.zip基于web的图书管理系统(图书管理系统)就是利用计算机,结合互联网对图书进行结构化、自动化管理的一种软件,来提高对图书的管理效率。随着...
通过这次设计,要求在软件开发过程,系统架构,系统的设计及其实现等方面中加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 课程设计题目(Java ...
视频教程:为了帮助您更好地学习和理解Java毕业设计的实现过程,我们还提供了多个视频教程,由专业讲师详细讲解各个项目的开发过程和技术要点。通过观看这些视频教程,您可以更加深入地掌握Java编程和项目开发的技能...
毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的深刻理解能力。这项任务通常要求学生运用所学专业知识,通过独立研究和创新,完成一个...
视频教程:为了帮助您更好地学习和理解Java毕业设计的实现过程,我们还提供了多个视频教程,由专业讲师详细讲解各个项目的开发过程和技术要点。通过观看这些视频教程,您可以更加深入地掌握Java编程和项目开发的技能...
毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的深刻理解能力。这项任务通常要求学生运用所学专业知识,通过独立研究和创新,完成一个...
分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。 4.分层次深入:主要分为初次使用、理解加深和灵活应用这三个层次。学员理解为更为透彻,掌握更为牢固。 逆向...
利用ajax将数据传给servelt,然后返回你的JSP页面,简单方面理解
首先,所包含的论文深入探讨了JSP技术的各个方面,包括它的运行机制、与Servlet的关系、在MVC架构中的作用,以及如何结合数据库进行数据交互。这些内容不仅为初学者提供了扎实的理论基础,也为经验丰富的开发者提供...
1.理解Servlet的概念以及Servlet的处理流程。 2.初步掌握用java书写动态网页的技能。 3.对java在构建Web网站方面的应用有初步的了解。
《Java全能速查宝典》从Java SE及Java EE两方面入手,精选了JDK自身600多个常用的方法、属性,同时还对Jsp、Servlet技术及Java EE流行框架的使用进行全面的解析,每一个知识点都配有具体的示例,便于读者理解。...
这样可以使读者从不同角度和不同方面深刻理解使用Java语言进行软件开发的特点。 本书适合具有一定Java基础并想更多了解Java语言与数据库结合方面的知识的编程人员学习使用,同时对于Java语言的初学者来说,也是一本...
这样可以使读者从不同角度和不同方面深该理解使用Java语言进行软件开发的特点。 本书适合具有一定Java基础并想更多了解Java语言与数据结合方面的知识的编程人员学习使用,同时对于Java语言的初学者来说,也是一本...
这样可以使读者从不同角度和不同方面深该理解使用Java语言进行软件开发的特点。 本书适合具有一定Java基础并想更多了解Java语言与数据结合方面的知识的编程人员学习使用,同时对于Java语言的初学者来说,也是一本...
在源代码方面,系统采用了Java Server Pages(JSP)技术,结合了Servlet和JDBC等核心技术,实现了一个动态的Web应用程序。代码结构清晰,注释详细,便于学习和理解。通过本系统的源代码,用户可以深入了解JSP的开发...