开启 J2EE(四)—JSP及运行原理

JSP之了解

全称Java Server Pages,通过在HTML中嵌套Java代码实现动态网页。

可以从下面四个方面去认识一下JSP:

1.动态内容模板

动态的HTML,接受处理客户的请求,可以填充不同的业务逻辑。

2.使用定制的Java代码扩展HTML

本质是对标签的动态更新。JSP生成的标签代码可以是HTML也可以是XML等其它标签语言。

3.被编译成Servlet

本质是Servlet,在开发阶段JSP是一种文本的脚本的基于模板化的语言,运行时会被编译成Servlet的格式,执行的生命周期和Servlet完全一致。

4.工作划分为内容制作和程序开发

HTML或XML可以通过其它工具开发JSP内容的工作,动态实现的用JSP本身的标记去开发,例如增加指令和行为来扩充动态内容的部分。

请求处理过程

  我们知道JSP的实质还是Servlet,JSP的不同之处在于JSP是把Java代码嵌套到HTML代码中,虽然是嵌套在HTML中,但是JSP还是服务端的),因为JSP要经过JSP容器(例如Tomcat,作用就是将JSP转化为Servlet)的编译(编译成Class文件),再根据这些动态代码的运行结果生成对应的HTML代码,最终在浏览器中以HTML形式显示出来。

  可以通过这样一个流程图表示出来:

从登录开始

  刚才说到JSP是在HTML中嵌套Java代码实现动态网页,但是当HTML页面过大,且存在很多不需要经过容器的静态请求时,在HTML中嵌套Java代码,在经过一遍上面所述的运行过程,整体速度显然会有影响,为了快速方便地进行动态网站的开发,JSP做了很多改进,使其成为快速建立跨平台的动态网站的首选。

  简单的登陆实现:

  1.登陆页面Login.HTML

  

<p>
<form  action="LoginCheck.jsp" method="post">  </p><p>  
  用户名: <input type="text"name="ID"><br>  </p><p>  
  密 码: <inputtype="text" name="PWD" ><br>  </p><p>  
  <input type="submit"value="Login"><br>  </p><p>
<form></p>

 

  2.登陆验证LoginCheck.JSP

<%
if(request.getParameter("ID") != null &&request.getParameter("PWD") != null) {
  String ID =request.getParameter("ID");
  String PWD =request.getParameter("PWD");
  if (ID.equals("a")&& PWD.equals("a")) {            
     %>
     登录成功!
    <%
  }
  else {
    %>
    登录失败!
    <%
   }
 }
%>

什么时候用Servlet,什么时候用JSP?

  联系:本质上都是Servlet

  比较:

    1.Servlet:处理业务逻辑(只要与数据库进行交互)方便简单;显示内容给用户繁琐。

    2.JSP:显示内容给用户简单方便;处理业务逻辑(只要与数据库进行交互)繁琐 。

  综上可以说明Servlet和JSP虽然说实现的功能一样,但是他们的优缺点是互补的,所以一般情况下做都是利用JSP和Servlet一

起使用,达到了一个相辅相成的状态。

  比如:完成注册功能,首先显示注册页面给浏览器,用JSP实现(reg.jsp),填写完注册信息提交,用Servlet来实现(RegServlet),注册失败又该显示错误信息和注册页面,用JSP来实现(reg.jsp);注册成功该显示成功信息和登录页面用JSP来实现(login.jsp)

总结

    JSP和Servlet在开始理解上没有什么难度(也因为有了B/S的基础了),在实现Servlet和JSP这过程中,对Eclipse,对Tomcat,等等这些工具的配置和使用,各种版本的兼容,主要是这些问题,原因还是出在自己的不熟悉,不过就像当初使用UML工具,使用VS一样,都是一个从认识到熟练使用的过程,不断使用,不断研究,总会为我所用。

开启 J2EE(四)—JSP及运行原理

时间: 2024-11-04 04:14:34

开启 J2EE(四)—JSP及运行原理的相关文章

Servlet运行原理

一:servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. (Servlet对象 在Servlet容器启动时被初始化,当第一次被请求时,Servlet容器将其实例化,此时它贮存于内存中. 如果存在多个请求,Servlet不会再被实例化,仍然由此Servlet将其进行处理,每一个请求都是一个线程,而不是进程,因此,Servlet对请求的处理的性能非常高) 对于Servlet,它被设计为多线程的(如果它是单线程的,你就可以想象,当1000个人同

JSP FreeMarker Velocity 原理

JSP原理 JSP的运行原理:JSP 本质上是一个Servlet. 每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet 程序,然后再把这个 Servlet 源程序编译成Servlet 的class 类文件.然后再由WEB 容器(Servlet容器)像调用 Servlet 程序一样的方式装载和解释执行这个由JSP 页面翻译成的 Servlet 程序. FreeMarker 和 velocity 原理 在Struts2框架下,Struts2框架充当了之前的Servlet角色,只

J2EE总结(三)——深入理解JSP开发工作原理

一.JSP及其工作原理 1.JSP(JavaServer page)Java服务器页面,从名字上看,它类似于ASP,并且是在服务端编写的一种技术. 2.用于开发动态web页面的技术 为什么它可以用来开发动态web页面呢?这与它在编写时用到的技术有关.它采用HTML来定义页面的结构,但是在jsp中允许编写Java代码,并且允许开发人员在页面中使用request,response,out等对象实现与浏览器的交互,所以jsp也是一种动态web页面开发技术. 举个例子: 输出当前的时间,在html中嵌套

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

JSP/Servlet 工作原理

JSP/Servlet 工作原理(转载) 2014-03-08 23:20 1829人阅读 评论(0) 收藏 举报 Servlet Servlet 没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器. Servlet 运行在 Servlet 容器中,并由容器管理从创建到销毁的整个过程. 对于用户到达Servlet的请求,Servlet容器会创建特定于这个请求的ServletRequest对象和 ServletResponse对象

开启 J2EE(七)— Model1、Model2和三层架构的演变

Model1和Model2是Javaweb开发的两种常见的模型,Model1是jsp+javabean的模式,Model2是jsp+servlet+javabean的模式.JavaBean就是将逻辑处理.数据库访问等等,在java中对对象进行的打包(对应下文图中的业务逻辑). 下面就详细的认识认识: 一.Model1 在Model1模型中,是以JSP为中心,这种模型中JSP既要做页面显示,又要结合业务逻辑处理服务端过程,简单说就是Model1开发没有Servlet,JSP中既有HTML代码又有逻

Hadoop伪分布安装详解+MapReduce运行原理+基于MapReduce的KNN算法实现

本篇博客将围绕Hadoop伪分布安装+MapReduce运行原理+基于MapReduce的KNN算法实现这三个方面进行叙述. (一)Hadoop伪分布安装 1.简述Hadoop的安装模式中–伪分布模式与集群模式的区别与联系. Hadoop的安装方式有三种:本地模式,伪分布模式,集群(分布)模式,其中后两种模式为重点,有意义 伪分布:如果Hadoop对应的Java进程都运行在一个物理机器上,称为伪分布 分布:如果Hadoop对应的Java进程运行在多台物理机器上,称为分布.[集群就是有主有从] 伪

Memcached概念、作用、运行原理、特性、不足简单梳理(1)

http://www.cnblogs.com/yinrq/p/5013742.html Memcached概念.作用.运行原理.特性.不足简单梳理(1) 大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过.这都没什么关系,本文旨在从各个角度综合的介绍这种产品,尽量深入浅出,如果能对您现在或以后的工作有所帮助,笔者将感到无比荣幸. Memcached概念.作用.运行原理.特性.不足简单梳理(1) Memcached下载安装.NET

QF——iOS程序运行原理

iOS程序的运行原理: 1> main.m 主函数是所有程序的入口函数. 2> 在main函数里是UIApplicationMain函数,开启了一个无限循环,以监听该应用. 该UIApplicationMain函数有4个参数,前两个分别是main函数的参数,第3个参数UIApplication的类名,第4个是应用的代理类名. 2.1> 创建一个UIApplication实例,单例的,一个应用对应一个该对象,代表整个应用程序. 2.2> 再创建一个UIApplication的dele