Servlet and Jsp
Keywords: Servlet; WEB; Jsp; WEB Container; Java
Abstract. Jsp and Servlet are often used in the WEB development, based on SUNs Java syntax rules, on the basis of most of the time in accordance with the requirements in the face of developing interface directly invoke methods, for the underlying principle and realization process of the Servlet and Jsp not to delve into. In order to more clear thorough understanding of both the clear division of labor in the WEB Container and the work process, we analysis the implementation process of the Servlet and Jsp, make application to the Servlet and Jsp development projects more handy.
Introduction
Servlet is the rules for the server side formulated by Sun Company, a java program operating on
WEB Container and the universal rule that establishes connection between java program and WEB Container. The full name of JSP is Java Servet Pages, and based on the server page realizing java language, the essence of JSP is Servlet. It is a standard text file and a set of rules making server translate the jsp file into java source code according to such rule, and the function is the demonstration of the completed page.
Features of Servlet and JSP
Servlet. Servlet and Jsp rules are specified in order to achieve decoupling and the purpose, through this common rules so that the developer and the realization of the complete separation of the open, improve efficiency.The Servlet is an interface, interface is established in the 5 methods, the most important one is service (ServletRequest req, ServletResponse res), and in the development of writing the most is this method, because it involves the preparation of logic algorithm, the other four methods in most cases is not used, so in specification in order to write code and elegant appearance, the adapter GenericServlet abstract class, in the service (ServletRequest req, ServletResponse, res) method for abstract methods, other four methods as a method of common format, and some other methods for the subclass,so when writing the server at the end of the Java program, this adapter can inherit the GenericServlet abstract class, only Service (ServletRequest req,ServletResponse res override the res method, when the adapter method cannot meet the needs of the time, you can rewrite the code to make the writing more elegant. In order to ensure consistent treatment in the development of front-end transmitting data transfer request and background program, because the development of the development and development in front of the rear end is separated, the need for a rule between the two, so the background of the program attribute can get method from the front to request protocol in the http protocol for value HttpServlet Abstract class.
HttpServlet extends the GenericServlet adapter and the realization of the abstract class,
Serializable, Servlet, ServletConfig three interface, and in the HttpServlet abstract class defines its
own unique access to the method property valuegetMethod(), but the developer is not known do not have to write code before allowing the server to send what request, also dont know the front end will send what request,so in the specification in the application of the template design pattern, HttpServlet is the most typical features in service (HttpServletRequest req, HttpServletResponse res) is established in the doGet() and doPost() call time and method, and this method of service doGet() and doPost() method in the method body of the exception of front and back, so it will be the core algorithm framework defined in advance, and specific implementation steps. The sub class is late to finish, and the algorithm is protected and reused, which fullymeets the needs of the development.
Jsp. In the development of WEB, HTML code can be written in Servlet in response to the browser, but it can do so will make the HTML code and Java source program bundled with a high
degree of coupling, over time in response to the page code there is a new demand, change the HTML code must recompile java source file this violates the OCP principle of opening and closing, development should be open for extension, is strictly closed for modification, hence the Jsp rules to solve the coupling problem of too high.
In the development of JSP, the completed JSP file will be translated by Jsp translation engine in WEB Container into java source file and then compiled into class file. In the source file, it can be seen the source file corresponds to the class HttpJspBase class, HttpJspBase class and WEB Container implementation class is inherited from the HttpServlet abstract class, so that Jsp is the
Servlet, just to work with Servlet Jsp for the different Jsp built in nine, three instructions, provides
full support for grammar translation engine.
Because the translation engine does not need to shut down the server or the re deployment of the project, modify the Jsp file, JSP file translation engine will be based on the last modified time to retrieve, when accessing the JSP files on a file, the last modified time will be recorded, the last modification time the second visit will get this file, once the modification time of two times, the translation engine will start to work, JSP files will be re translated to Java source files and compiled.Class files, so HTML code written in the JSP file completely solves the coupling problem of too high, Servlet java source file is do not need to re compile in needs change.
Work Process under WEB Container
After WEB Container launched, it will automatically read the web.xml file, servlet will be placed with the request path to a Maplt;String path, String complete class namegt; set, the first visit to this servlet object, reference will request path and servlet objects placed in another Maplt;String path, Servlet servletgt; set, when the user in the browser a
剩余内容已隐藏,支付完成后下载完整资料
Servlet and Jsp
关键词: Servlet; WEB; Jsp; WEB Container; Java
摘要:JSP和Servlet通常在WEB开发中使用,基于SUN的Java语法规则,在大多数时候都根据要求在面对开发接口时直接调用方法,以获取基本的原理和实现过程 不必深入研究Servlet和Jsp。 为了更清楚地了解WEB容器中明确的分工和工作过程,我们分析了Servlet和Jsp的实现过程,使在Servlet和Jsp开发项目中的应用更加方便。
绪论:
Servlet是由Sun公司制定的服务器端规则,Servlet是Java程序与WEB容器之间建立连接的通用规则。JSP的全名是Java Servet Pages,是基于实现Java语言的服务器页面,JSP的本质是Servlet。它是一个标准的文本文件和一组规则使服务器根据该规则将JSP文件转换为java源代码,JSP的功能是对完整页面的演示。
Servlet和JSP的特性:
Servlet。指定Servlet和Jsp规则是为了达到解耦和目的,通过此通用规则,使开发人员与实现完全分离,实现开放,提高效率。Servlet是一个接口,接口的建立有5种方法,其中最重要的一种是Service(ServletRequest-req,ServletResponse res)方法,而在开发中编写最多的就是这个方法,因为它涉及到逻辑算法的编写,其他四个方法在大多数情况下都是不使用的,所以在规范中为了编写代码和美观的外观,使用用适配器GenericServlet抽象类中的Service(ServletRequest req,ServletResponse,res)方法用于抽象方法,其他四个方法以及子类的一些其他方法作为通用格式的方法,所以在编写服务器端的Java程序时,这个适配器可以继承GenericServlet抽象类,只有Service(ServletRequest req,ServletResponse res)重写res方法,当适配器方法不能满足时间需求时,可以重写代码,使编写更加优雅。由于前端的开发和后台的开发是分开的,为了保证前端传输数据传输请求和后台程序开发中的一致性处理,两者之间需要一个规则,因此,程序的后台可以通过HttpServlet抽象类的方法获取前端的http请求的值。
HttpServlet继承GenericServlet类,而GenericServlet类又实现了Serializable,Servlet,ServletConfig三个接口。因此在HttpServlet抽象类中定义了它对valuegetMethod()方法属性的唯一访问权,但是开发人员在编写代码之前是不知道服务器发送了什么请求,也不知道前端会发送什么请求。因此,在设计的时候采用规范化模板设计。HttpServlet的Service方法中最典型的特性(HttpServletRequest req,HttpServletResponse res)是在调用doGet()和doPost()方法时建立的。而Service方法中的doGet()和doPost()方法在方法体中的前后异常,因此需要用预先定义的核心算法框架,以及具体的实现步骤。子类开发时间较迟,算法得到保护和重用,充分满足了开发的需要。
JSP.在Web的开发中,可以用Servlet编写响应浏览器的HTML代码,但这样做会使HTML代码和Java源程序捆绑在一起具有高度耦合性,随着时间的推移,响应页面代码有了新的需求,改变HTML代码必须重新编译java源文件这违反了OCP的开闭原则,开发应该开放可扩展、严格封闭可修改,因此JSP规则可以用来解决耦合度过高的问题。
在 jsp 的开发过程中,将完成的 jsp 文件通过 web 容器中的 jsp 转换引擎翻译成 java 源文件,然后编译成类文件。 在源文件中,可以看到源文件对应于HttpJspBase类,HttpJspBase类和WEB Container实现类,它们是从HttpServlet抽象类继承的,因此Jsp是Servlet,只是为了Servlet和 Jsp能够进行不同的工作, Jsp有9个内置对象和3条指令,为语法翻译引擎提供全面支持。
因为翻译引擎不需要关闭服务器或重新部署项目,修改JSP文件,JSP文件翻译引擎会根据最后一次修改时间来检索,当访问一个JSP文件时,最后一次修改时间会被记录下来,第二次访问的时候就会得到这个文件,一旦修改两次,翻译引擎就会开始工作,JSP文件会被重新翻译成Java源文件并编译成.Class文件,这样就彻底解决了JSP文件中编写的HTML代码耦合过高的问题。Servlet Java源文件在需要更改时不需要重新编译。
WEB容器的工作过程
Web Container启动后,它会自动读取web.xml文件,将Servlet的请求路径放置到Maplt;String path,String class namegt;集合中,第一次访问此Servlet对象时,引用会将请求路径和Servlet对象放置在另一个Maplt;String path,Servlet servletgt;集合中,当用户在浏览器地址栏中的请求路径中,Web Container截取请求路径到Maplt;String path,Servlet servletgt;集合中,按照请求路径指向相应的Servlet,如果找到对应的Servlet就直接调用Service()来提供服务;如果在Maplt;String path,Servlet servletgt;中没有找到集合中的Servlet,则Web Container to Maplt;String path,String Complete class namegt;找到String Complete类对应的完整类名、请求路径,通过反射机制调用ServletReference方法构造ET类的Servlet对象的完整实例化,然后调用Object init()方法完成初始化操作,并将Maplt;String path,Servlet servletgt;中存储的信息进行设置,然后调用服务。因为JSP和Servlet本质上只是做不同的工作,当服务器收到访问JSP文件的请求时,将此文件的最后修改时间与上次修改时间进行比较,如果两者时间不同,翻译引擎会将JSP文件翻译成新的源文件,然后编译成没有引用的Class文件,构造方法翻译后会调用此Servlet对象,然后调用它的init()方法和service()方法;如果时间不相同,重新编译和编译工作,直接找到Servlet对象对应的路径,直接调用service()方法,检索机制超过上次修改的时间,还可以对工作文件夹中的活动文件和类文件进行检索等。
Servlet和JSP的优化
禁止Serlet的自动加载功能。每次修改Servlet时,都必须重新启动服务器。由于减少了自动加载功能的开发时间,该功能在开发阶段被认为非常有用。但是在运行阶段代价很高,不需要加载Servlet,增加了类加载器的负担,导致性能很差。类似地,这将导致您的应用程序无法与已由特定类型的加载器加载的类加载程序协作,并且当前的类加载器之间不能彼此协作。因此,为了在运行环境中获得更好的性能,关闭了Servlet的自动加载功能。
控制HTTP会话。许多应用程序需要一系列客户端请求,因此它们可以相互关联。由于HTTP协议是无状态的,因此基于Web的应用程序需要负责维护这种称为会话的状态。为了支持应用程序要维护的状态,Javaservlet技术提供了对会话的管理,并允许多种机制来实现API的会话。HTTP会话对可以使用会话,但使用它需要成本。
请勿使用单线模型。单线程模型一次只发出一个请求。如果Servlet实现此接口,则Servlet引擎将为新请求创建单独的Servlet实例,这将产生大量系统开销并给服务器带来压力。如果需要解决线程安全问题,请使用此接口的其他替代方案。
结尾
Sevlet是Java技术对CGI编程的回应。Servlet程序运行在服务器端,动态生成Web页面。与传统的CGI和许多类似的CGI技术相比,Servet效率更高、使用更方便、功能更强大。JSP没有添加任何本质上不能由Servlet实现的功能。此外,与内容和外观的解耦,使前端的页面设计工程师留出了给开发者留出Servlet动态内容的空间。
什么是数据库?
数据库是以安全、高效的方式永久存储数据以供检索的地方。数据库允许我们创建数据并将其永久保存。它允许我们检索以前创建的数据、更新现有数据或删除现有数据。
事务将SQL语句分组,以便它们都应用于数据库。如果一条语句由于某种原因失败,则所有语句都将从数据库中撤消。事务确保数据完整性。事务将数据库管理系统(如Oracle)与文件系统区分开来。
确保数据有效性的数据库事务的特性是原子性、一致性、隔离性和持久性。
bull;原子性是指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。
bull;一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
bull;隔离性是指多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
bull;持久性是指在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚
数据库将数据存储在集合中,这些集合通常被视为表。 数据库表的一行代表包含相关属性(称为字段)的记录。字段由表中的列表示。
参照完整性:
数据库管理系统(DBMS)支持参照完整性。 参照完整性的目的是避免拥有“孤立的”数据。 当您删除或更新表中的数据时,可能会发生孤立数据。 例如,如果数据库中的帖子没有匹配的用户。这种情况的发生通常是由于导入格式不正确的数据或无意中删除了用户造成的。数据库管理系统(如Oracle)可以通过拒绝将导致孤立数据的更改来强制引用完整性以防止这种情况。
空值:
有时一行的一列中没有值。在本例中,列存储空值。您可以将此视为指示缺少数据的标志。空值与数值0或长度为零个字符的字符串不同。两者都不是。它不算什么,因为该记录的列中没有存储任何值。事实证明,空值非常有用。您可以在包含空值的记录中搜索一个字段,并知道它们是字段中没有值的字段。
主键,外键和索引:
数据库是非常强大的工具,使我们能够以惊人的速度搜索和排序数据。数据库机制的一个重要组成部分是每个记录都应该是独一无二的。若要使每个记录唯一,要么使用每个记录唯一的现有字段,要么在每个包含唯一数字的记录中添加一个字段。
DBMS可以为每个记录生成唯一的数字。每条记录的唯一编号成为其主键。此字段将该记录与表中的任何其他记录区分开来。
当第二个表包含与第一个表相关的数据时,第二个表可以使用主键字段引用原始表。
在另一个表中用作引用的主键称为外键。 外键定义从一个表(子级)到另一张表(父级)的引用。
为了使访问数据列的效率更高,数据库将创建一个称为索引的对象。 索引包含索引列中每个值的条目,从而可以快速访问行。 像印刷书籍中的索引一样,数据库可以在索引中查找所需的值,并快速在表中找到其对应的行。
连接表:
关系是将数据连接到不同表的一种方式。 这有助于您避免表中的冗余。 您可以将数据分为不同的表(仅输入一次),然后通过建立关系从其他表中引用它。
共有三种关系,如下所示:
bull;一对一关系是第一个表中的每条记录在第二个表中只有一条匹配记录。当一个表中的信息被分成多个表时,通常会发生这种情况。这种情况不常见。
bull;一对多关系是第一个表中的每个记录与第二个表中的多个记录匹配。例如,一个用户可以有多个帖子。
bull;多对多关系是第一个表中的每条记录可以在第二个表中有许多对应的记录,第二个表中的每条记录也可以在第一个表中有许多对应的记录。
规范化:
在规范化的数据结构中,每个表都包含有关单个实体的信息,并且每个信息都存储在同一个位置。
规范化是有效组织数据库中数据的过程。这是通过组织关系数据库的列(字段或属性)和表来实现的,以最小化数据冗余。
规范化过程的目标是消除冗余数据,并确保数据依赖关系有意义。
结构化查询语言(SQL):
数据库有自己的编程语言,SQL(结构化查询语言)。SQL是一种提供数据库访问的非过程语言。所有的数据库操作都是用SQL执行的,Java可以用SQL与数据库管理系统进行对话,这是用JDBC API完成的,JDBC API允许应用程序根据不同的条件指定要检索哪些记录。例如,可以选择在特定日期之间
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[236293],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。