了解JSP和Servlet必须先要了解一些常识:
1.什么是web:web就是网络,是由n台服务器和客户端组成的计算机网络,有了这个网络我们就可以实现各个计算机之间的通信。
2.什么事web服务器:在web网络中一些计算机承当着主管的作用,很多信息都存放到一个或者多个电脑中,如果
其他计算机想要这些信息,就需要到主管这儿请示,主管再回复它们,这个主管就相当于一个web服务器。
它分为硬件服务器,和软件服务器。
3.web服务器有什么作用:、】
1. 负责各个计算机的通信 Socket
2. 线程,处理并发,多个计算机(多用户)与服务器通信的能力 Socket
3. 特定的协议
发现问题:如果自己架设个Web Server是不容易实现,需要做大量的工作,设计制作Web Server是由系统程序员使用c/c++开发的
1.jsp的优点和缺点:
1.jsp不需要写配置文件。
2.一次编译到处运行,因为jsp是基于java语言的,所以它具有java其跨平台的特性。
3.执行效率非常高。因为jsp第一次被调用的时候被编译成servlet文件,再转换成.class文件,放入内存中,
如果再有客户访问,jsp将不再编译,而是直接运行已经编译好的class文件,所以效率高。
4.系统的多平台支持,几乎可以在所有平台任意环境进行开发,
5.程序的兼容性和伸缩性很强,因为jsp里面的动态内容可以各种形式进行显示。一个jar文件就可以运行jsp。
6.jsp允许自定义标签,使开发更加方便。
缺点:
1.为了实现jsp跨平台,和可伸缩能力,所以同时也增加了产品的复杂性。
2.java的运行速度是通过.class常驻内存来完成的。所以使用的人越多,那么耗得内存就越大,速度就越慢。
同时它也需要硬盘空间来存储java和class文件。
3.调试困难,程序出现错误,因为它先编译成servler文件运行的,所以是返回相对应的servlet错误行数。不容易确定行数。
4.在jsp页面数据传输难免出出现java代码,
1.1由此应该联想到自定义标签:
作用:主要是取代jsp页面的一些java脚本,因为jsp页面出现java脚本,就使得代码难以阅读,且维护成本高,
最重要的是不利于于美工人员合作,因为美工看不懂java代码的。
好处:界面和程序代码分开做,
步骤:
1.首先新建一个java类,并实现simpleTagSupport,重写它的doTag方法,在这个方法里面写一些功能。
2.新建一个tld文件,进行配置:比如说一些url,short-name,等等
3.在jsp页面通过taglib执行指定url进行导入。
1.2 JSP的生命周期
1) 每一个JSP都会对应有一个servlet生成
2) 在 %tomcat%/work/Catalina/localhost/工程名/org/apache/jsp 目录下可找到对应生成的 Servlet 文件
3) 一般而言,每一个JSP对应的servlet都有如下的生命周期方法:
2.Servlet定义:它是一个用遵循Servlet规范编写的java类,在服务端运行是由服务器负责调用的,。
3.Servlet的分类:1.标准的Servlet,2.过滤Servlet, 3.监听Servlet。
1.标准的Servlet一般HttpServlet,
2.监听Servlet可以实现HttpSessionListener,HttpSessionAttributeListener或者request*,application*
3.过滤Servlet继承 FilterServler
4.过滤Servlet的作用:
1.主要过滤掉大量的非法文字。
2.判断用户是否登录。
3.统一编码
5.Servlet的工作模式:
客户端发送请求到服务器,服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容传给服务器,服务器将
响应返回给客户端。
5.1Servlet的原理:
当web服务器启动的时候,它会去加载我们在web.xml文件配置的Servlet,并且把它的配置信息读取到服务器里面
web服务器拿到配置的ServletClass通过反射机制生成Servlet的对象,
把它放在内存中,当用户发送一个请求的时候,如果这是第一个请求那么它调用init方法,
初始化Servlet,
也可以通过配置<load-on-startup>指定加载的时候初始化顺序。
并根据请求的url找到相映射的Servlet,交给它的service方法进行处理,
在service方法里面,判断是get,post方式提交,并处理,最后生成响应通过服务器返回给客户。
6.Servlet的生命周期:
1.加载 2.初始化 3.执行 4.销毁
6.1详解Servlet的生命周期:
1.加载:当web容器启动的时候,就会去加载web.xml里面配置的内容,所以也会加载我们在web.xml配置的Servlet,
2.初始化:默认是在第一次发送请求的时候,才进行初始化,但是也可以通过<start-load-up>这个节点来
配置,使在加载的时候就初始化,但是这个节点也可以是指定加载的顺序。不过它的初始化只会初始化一次。
3.执行:就是客户端发送请求,Servelt执行service方法。
4.销毁:当关闭web服务器的时候,它就自动销毁了。
7.Servlet的优点和缺点:
1.最大的优点就是Servlet可以处理客户端发送过来的http请求,并返回一个响应。
2.Servlet是一个java类,所以可以跨平台。
3.性能强,效率快 因为Servlet一旦启动就常住内存中,以后就继续运行于后台,等待请求,
每一个请求不是进程而是线程,所以性能,和效率很快。
4.Servlet功能强大,能调用所有java的api。
缺点:
1.不适合于编写页面。编写静态页面需要部署后才能看到效果,很难控制页面外观。
8.jsp于Servlet的关系:
1.jsp本质上是Servlet的扩展,本质上就是Servlet的简易方式,jsp编译之后也就是一个Servlet文件。
2.jsp侧重于页面编写,Servlet侧重于逻辑控制。
3.JSP往纯标签方向发展,Servlet往纯代码方向发展,他们以Servlet内核(请求响应式的工作方式)往两个方向发展。
9.jsp页面的静态包含和动态包含的区别:
1.静态包含不可以带参数,动态包含能带参数,因为动态包含是动作,可以在开始标签和结束标签之间设置参数。
2.静态包含是同一编译的,它们是变量共享的,动态包含是两者独立的,直到输出时才合并。
3.动态包含时刻检查文件的变化,当文件发生改变的时候,会立即发生变化,静态包含不时刻检查文件的变化。
10.jsp服务器有几种跳转?区别是什么?
1.三种,response,forword, getRequestDispatcher;
区别:1.response可以跳转到任意资源,而forward只能跳转到本地服务器资源。这可以看出
forward效率比response高。
2.forward跳转后浏览器地址栏不发生改变,response地址栏是跳转后的地址。
3.response跳转页面后属性值丢失,forward不丢失。
ps:forward跳转于getRequestDispatcher一样。
11.jsp为什么第一次运行会比较慢?
1.因为jsp在第一次运行的时候,就把jsp编译成servlet文件,再把这个servlet文件编译成.class文件,
因为jvm只认识class文件,再把class放在内存中,而再次运行的时候,会直接执行内存中的class,不需要进行
转换。所以以后速度会非常的快。
12.JSP内置对象
Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对
象可以获得请求中的头信息、Cookie和请求参数。
Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户
的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等)
Out(Javax.servlet.jsp.JspWriter)用于将内容写入JSP页面实例的输出流中,提供了
几个方法使你能用于向浏览器回送输出结果。
pageContext(Javax.servlet.jsp.PageContext)描述了当前JSP页面的运行环境。
可以返回JSP页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当 前页面传输至其他页面的方法。
Session(javax.servlet.http.HttpSession)会话对象存储有关此会话的信息,也可以
将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。
Application(javax.servle.ServletContext)存储了运行JSP页面的servlet以及在同
一应用程序中的任何Web组件的上下文信息。
Page(Java.lang.Object)表示当前JSP页面的servlet实例
Config(javax.servlet.ServletConfig)该对象用于存取servlet实例的初始化参数。
Exception(Javax.lang.Throwable)在某个页面抛出异常时,将转发至JSP错误页面,提
供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@page isErrorPage=“true”%>
分享到:
相关推荐
总之,《jsp&servlet电子书》是学习JSP和Servlet的理想教材,无论你是初学者还是有一定基础的开发者,都能从中获益匪浅。通过阅读这本书,你将能够熟练地运用这两种技术构建高效的Web应用程序,解决实际开发中的各种...
在使用Tomcat开发JSP和Servlet时,需要注意一些关键点以确保程序的正确运行和优化。以下是根据提供的文件内容整理的一些重要问题和解决方案: 1. **创建Tomcat项目**: - 在Eclipse等集成开发环境中,需要创建一个...
### JSP常用方法整理:深入理解与应用 JSP(JavaServer Pages)是Sun Microsystems公司推出的服务器端技术,用于创建动态网页。它结合了HTML、XML标记语言与Java编程语言的功能,使得在Web应用程序中嵌入Java代码...
毕业设计大作业基于的JavaBean+Servlet+jsp的网上购物系统毕业设计源码.zip 该系统是对我们原有JAVA大作业进行的扩展,应用到持久化管理、模版管理和视图管理等一些模式。 需求规定 a. 系统功能:采购图书 b.系统性能...
JSP笔记可能讲解了JSP基本语法、EL(Expression Language)、JSTL(JSP Standard Tag Library)、以及Servlet生命周期和转发与重定向等概念。 Servlet是Java Web开发中的一种服务器端组件,用于扩展服务器的功能。...
【标题】:“jsp+bootstrap+servlet问答类网站”是一个基于Java技术栈的在线问答平台的实现,主要利用了JSP(JavaServer Pages)、Bootstrap前端框架和Servlet技术。这个项目可能是一个学习示例或者是一个简单的社区...
- "[Jsp]JSP语法(中华电脑书库 整理制作).chm" 是一本关于JSP语法的中文教程,涵盖了JSP的基本语法、内置对象、动作指令等内容。 - "创建HttpServlet的方法.txt" 提供了创建和配置HttpServlet的步骤和示例,有助于...
在"Servlet JSP Spring MVC初学指南(alin书签).pdf"这本书中,你可能会找到这些知识点的详细讲解,通过整理目录书签,可以更好地理解和掌握这些内容,快速上手Java Web开发。在实际学习过程中,结合实践项目和相关...
- **创建订单**:用户确认购物车后,Servlet将购物车内的商品整理成订单信息,可能包括商品ID、数量、总价等,然后持久化到数据库。 - **支付接口**:集成第三方支付平台的API,如支付宝、微信支付,处理支付请求...
统名称:jsp+servlet+javabean新闻发布系统 大家好,这是我搜集整理好并且测试通过的的一个新闻发布系统,有程序,设计详细文档和ppt演示,我现在把程序共享给大家,有需要完整文档的朋友请再联系我!! 系统角色:...
《学报管理系统:基于jsp+servlet+javabean的实现》 在信息技术高速发展的今天,学术交流日益频繁,各类学报的管理需求也随之增加。学报管理系统作为一个重要的工具,能够有效地整理、存储和检索学报信息,提高工作...
文章整理: www.diybl.com 文章来源: 网络 去论坛 建我的blog 今天给同学用JSP+JavaBean+Servlet做了个分页。用的是MySQL+Tomcat+MyEclispe环境。
尽管原文存在一些难以理解的部分,但通过整理和解析,可以提炼出以下关键知识点: ### JSP(JavaServer Pages)简介 JSP是由Sun Microsystems开发的一种基于Java的动态网页技术标准。JSP页面本质上是Servlet的扩展...
在本文中,我们将深入探讨Java服务器端开发中的关键概念,主要包括JSP(JavaServer Pages)和Servlet,以及相关的编程技巧和工具使用。首先,我们来看一下MyEclipse这个常用的Java开发环境中的快捷键: 1. 内容提示...
在这个压缩包中,包含的是对Servlet API的中文文档,可能是作者因为无法找到官方的源码和javadoc而自行整理的笔记。 首先,我们来看看servlet的概念。Servlet是一个Java类,它扩展了服务器的功能,可以处理来自...
网上就 JSP/Servlet 中 DBCS 字符编码问题有许多优秀的文章和讨论,本文对它们作一些整理,并结合 IBM WebSphere Application Server 3.5(WAS)的解决方法作一些说明,希望它不是多余的。内容: 问题的起源 ??????...
- 数据处理:servlet对采集到的数据进行清洗、整理,可能包括计算平均值、峰值、流量趋势等。 - 数据存储:将处理后的数据存储在数据库中,如MySQL或NoSQL数据库,以便后续查询和分析。 - 前端展示:jsp页面中嵌入...
当JSP页面首次被请求时,JSP容器会将JSP转换成一个Servlet,并编译这个Servlet。 - **视图与控制分离**:JSP主要用于展示数据,而Servlet则负责处理业务逻辑。这种分工有助于实现MVC(Model-View-Controller)架构模式...
### jsp+servlet博客管理系统的知识点解析 #### 一、博客的基本概念与特点 1. **博客的概念**: - 博客(Blog 或 Weblog)源自“Web Log(网络日志)”的缩写,是一种简易的个人信息发布方式。 - 任何人都能轻松...