一:如何打开JSP文件

1.安装JAVA

2.安装TOMCAT——免费开源的JAVAWEB服务器

3.安装ECLIPSE

二:JS和JSP区别

名字:
  JS:JavaScript
  JSP:Java Server Pages 执行过程:JSP先翻译,翻译成Servlet执行
     如: test.jsp 要变成 test_jsp.java 然后编译成 test_jsp.class
     而 test_jsp.java 本身就是一个servlet.
     所以 jsp只是servlet的一个变种,方便书写html内容才出现的。
     servlet是根本,所有jsp能做的,servlet全能做。
JS:是一种基于对象的客户端脚本语言。目的是解决服务器端语言。
  如:Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
  JS可以直接嵌入到html代码中进行解析执行,
  非常简单易学,可以产生很多动态的效果。 形象比较:JS是在客户端执行的,需要浏览器支持JavaScript。JSP是在服务器端执行的,
     需要服务器上部署支持Servlet的服务器程序。JS代码能够直接从服务器
     上download得到,对外是可见的,jsp(和翻译后的Servlet代码)是对外不可见的。 JS和JSP相比较:虽然JS可以再客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂
        的服务。
        如:访问数据库和图像处理等等。
        JSP在HTML中用<% %>里面实现。JS在HTML中用<Scrippt></Script>实现。 执行过程:
  JSP:
    1、JSP文件在用户第一次请求时,会被编译成Servlet,然后由这个Servlet处理
    用户的请求,所以Servlet可以看成是运行时的Servlet。
    2、JSP容器也就是Servlet容器管理JSP页面生命周期分为两个阶段,即转换阶段和执行阶段。
    3、转换阶段:当有一个对JSP页面的请求到来时,JSP容器检查JSP页面的语法是否正确,将JSP页面
    转换为Servlet源文件,然后调用javac命令编译Servlet源文件生成字节码文件。
    4、执行阶段:Servlet容器加载转换后的Servlet类。
  JS:
    JavaScript 通常是运行在前台,即运行于用户浏览器的,通常不需要服务器的后台支持(AJAX交
    互例外),混合在HTML中的JavaScript脚本程序直接被浏览器解释执行,以提高页面的美观性和
    UI操作响应速度为基本目标。(运行位置的不同) 运行位置不同:
    JSP运行在后台服务器上,混合在HTML中的java程序段用于控制HTML的动态生成,并且通常负责调用后台
    数据库中的数据,形成能够根据使用情况的变化的,具有丰富数据交互效果的页面。

三:Servlet的本质是什么,是如何工作的?

web服务器习惯处理静态页面,所以需要一个程序来帮忙处理动态请求(如当前时间)。Web服务器程序会将动态请求转发给帮助程序,帮助程序处理后,返回处理后的静态结果给web服务器程序。这样就避免了web服务器程序处理动态页面。Servlet的本质是一个帮助程序。如下图

Servlet工作流程分为三个阶段。init(初始化),service(运行),destroy(销毁)

Servlet没有main方法,所有行为由Container控制。Container就是一个java程序。

在加载Servlet的.class后,Servlet会由构造函数生成一个实例,然后Container调用init()方法完成参数的初始化,接着调用service()方法,service会根据网页的请求,调用doGet或者doPost方法,最后调用销毁方法。整个流程如下图:

如何打开JSP文件/JS和JSP的区别/Servlet的本质是什么,是如何工作的?的更多相关文章

  1. 创建一个视图JSP文件的helloWorld.jsp

    让我们创建下面的JSP文件的helloWorld.jsp,在WebContent文件夹在你的eclipse项目.要做到这一点,右键单击WebContent文件夹中的项目资源管理器,然后选择“新建”&g ...

  2. eclipse中web工程新建jsp文件报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    web工程中新建jsp文件提示:The superclass "javax.servlet.http.HttpServlet" was not found on the Java ...

  3. WebContent的子目录里面的jsp文件无法将数据传递给Servlet

    在WebContent下创建子目录FormCheck,register.jsp将跳转到RegisterServlet这个Servlet中去 分两种情况:在web.xml里面配置 和 使用注解 1.在w ...

  4. web处理jsp文件的三个阶段

    web处理jsp文件的三个阶段 翻译阶段(servlet) 编译阶段(class) 执行阶段(print页面标签) 推送html到浏览器

  5. 手动编译Jsp文件

    手动模拟Tomcat编译jsp文件 Tomcat编译jsp文件的配置路径是在%tomcat_home%/conf/web.xml中,有这样一段代码 <servlet> <servle ...

  6. <%@include file="a.jsp"%> jsp引用jsp文件时候注意

    被包含的a.jsp文件:    a.jsp文件的page指令要么不要写.要么与主jsp文件的page指令一样.

  7. JSP和JS的区别

    从本科毕业设计开始就一直困扰我,jsp和js这两者的区别,一直处于迷糊状态,也没有搞清楚.今天就简单的介绍下两者的区别. 1.JSP全称是java server page    JS全称是javaSc ...

  8. JSP-Runoob:JSP 文件上传

    ylbtech-JSP-Runoob:JSP 文件上传 1.返回顶部 1. JSP 文件上传 JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图 ...

  9. JSP文件的上传

    JSP 文件上传 JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档. 本章节我们使用 Servlet 来处理文件上传,使用到的 ...

随机推荐

  1. Erlang cowboy routing 路由

    Erlang cowboy routing 路由 本文译自: http://ninenines.eu/docs/en/cowboy/1.0/guide/routing/ Routing 默认情况下,C ...

  2. C# DataTable,DataSet,IList,IEnumerable 互转扩展属性

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...

  3. 和菜鸟一起学linux总线驱动之i2c死锁问题

    不知不觉中已经有好几个月没有写点东西了,懒了就是懒了,说是忙着想把产品做得更好,都是借口,每天花一点时间来写点东西确实很不错,自己也坚持了很久很久,只不过今年以来,发现提高不是很大,能写的东西好少好少 ...

  4. LeetCode(68)-Compare Version Numbers

    题目: Compare two version numbers version1 and version2. If version1 > version2 return 1, if versio ...

  5. 高并发教程-基础篇-之nginx负载均衡的搭建

    温馨提示:请不要盲目的进行横向扩展,优先考虑对单台服务器的性能优化,只有单台服务器的性能达到最优化之后,集群才会被最大的发挥作用. 一.架构图: 服务器准备:3台,ubuntu16.04系统maste ...

  6. jvm栈-运行控制,jvm-堆运行存储共享单元

     JVM-栈 2012-09-17 15:43:53 分类: Java 原文转自:http://www.blogjava.net/nkjava/archive/2012/03/15/371971.ht ...

  7. JS基础:this的指向以及call、apply的作用

    this 的指向 在具体的实际应用中,this 的指向无法在函数定义时确定,而是在函数执行的时候才确定的,根据执行时的环境大致可以分为以下3种: 1.当函数作为普通函数调用时,this 指向全局对象 ...

  8. 教你一步步发布一个开源库到 JCenter

    今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...

  9. CSS 弹性容器

    该文章为英文原文译文及一些自己的拙见墙裂推荐读原文浏览原文请戳这里 : CSS-STRICKS 弹性布局 (Flexbox Layout) 什么是弹性布局 Flexbox Layout 模块旨在提供一 ...

  10. 在MySQL和PostgreSQL之外,为什么阿里要研发HybridDB数据库?

    http://www.infoq.com/cn/news/2016/12/MySQL-PostgreSQL-Greenplum 编者按 在大数据火遍IT界之前,大家对数据信息的挖掘通常聚焦在BI(Bu ...