大家好!好久不见!今日我们开始学习JSP了,一些记录基础性的知识在这里与大家分享。

  先说下URL(Uniform Resource Locator 统一资源定位符)。

  

  URL包括传输协议(http://),ip地址,端口(端口如果是80可以省略,其他不能省略),项目资源地址。

  再来说下B/S,C/S架构。

  B/S(browser/server)是浏览器/服务器;

    浏览器和服务器端采用请求/相应模式进行交互;

    B/S结构是对C/S结构的一种改进;

    当应用成武为B/S结构时,程序部署在应用服务器上,并通过应用服务器同数据库服务器进行通信,在客户机上无需安装任何文件,系统界面是通过浏览器来实现的;

    B/S结构建立在Internet的基础上,所以访问范围比C/S大。

  C/S(client/server)是客户端/服务器。

  从维护和升级角度,B/S更加简单。

  再说下Tomcat。Apache Jakarta的开源项目,JSP/servlet容器,web容器。使用Java进行Web编程时,需要发布到Web容器中才能运行。

  Tomcat安装后端口默认是8080;

  可以向发出请求的浏览器提供文档的程序;

  提供网上的信息浏览服务。

  Tomcat服务器的目录结构:

    /bin目录:存放各种平台下用于启动和停止Tomcat的脚本文件;

    /conf目录:存放Tomcat服务器的各种配置文件;

    /lib目录:存放Tomcat服务器所需的各种JAR文件;

    /logs:存放Tomcat的日志文件;

    /temp:Tomcat运行时用于存放临时文件;

    /webapps:当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中;

    /work:Tomcat把由JSP生成的Servlet防御此目录下。

  Web项目的目录结构:

    /:Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等);

    /WEB-INF:存放应用使用的各种资源,该目录及其子目录对客户端都是 不 可以访问;

    /WEB-INF/classes:存放Web项目的所有class文件;

    /Web-INF/lib:存放Web应用使用的JAR文件。

  使用JSP开发web项目时,web.xml文件位于WEB-INF目录下。

  手动部署Web应用的步骤:

    1.编写Web应用的代码;

    2.在webapps目录下创建应用文件目录;

    3.将创建的页面复制到应用目录下;

    4.启动Tomcat服务并进行访问。

  JSP执行过程:

    1.翻译阶段:编写好的JSP文件首先被web容器中的JSP引擎转换成Java源码;

    2.编译阶段;Java源码会被编译成可执行的字节码;

    3.执行阶段。容器接受客户端的请求后,执行编译成字节码的JSP文件。处理完请求后,容器把生成的页面反馈给客户端进行显示。

  

  JSP(Java Server Pages 一种Java语言的服务器端页面技术):在HTML中嵌入Java脚本代码。

  JSP的3种注释:
     HTML的注释(网页查看源代码时会看到此注释):
        <!--html注释-->
     JSP注释(网页查看源代码时看不到此注释):
        <%--JSP注释--%>
     在JSP脚本中注释(网页查看源代码时看不到此注释):
        <%//单行注释%>
        <%/*多行注释*/%>

  JSP页面元素:

    静态内容:HTML静态文本;

    指令:以"<%@"开始,以"%"结束>

    小脚本:<%Java代码%>

    表达式:<%=Java表达式%>

    声明:<%!方法%>

  JSP内置对象是Web容器创建的一组对象,一组类的实例。

  常用的JSP内置对象:

    out --输出语句

    request --处理客户端请求

    response --相应客户请求

    session --会话对象。一次会话是指一次请求和一次相应。

          可以保持每个用户的会话信息,为不同的用户保存自己的数据,存储在客户端。

    application --应用程序

  实际上JSP就是Servlet,运行在服务端。在后台进行动态编译后最终想客户端输出普通html代码,需要运行在Tomcat类似servlet容器中,在JSP文件中可以嵌入Java代码。

   转发与重定向:

      转发:转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递;

         客户端浏览器的地址栏不会显示出转向后的地址。

      重定向:重定向实在客户独胆发挥作用,通过请求新的地址实现页面转向;

         在地址栏中可以显示转向后的地址。

  以上仅个人观点,若有不同,可以提出,共同进步!

    

JSP Java服务器页面的更多相关文章

  1. JSP(Java Server Pages,即:Java服务器页面

    是一种跨平台的动态网页技术标准,由Sun Microsystems公司倡导.多家公司参与建立. 它在HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(* ...

  2. Eclipse创建的Java Web项目,如何启用外置浏览器访问jsp或者html页面

    当我们用Eclipse创建了一个Java Web项目,想访问一个jsp或者html页面时,通常会在目标页面(以jsp为例)上点击鼠标右键,选择[Run As]——>[Run on Server] ...

  3. jsp(java server pages):java服务器端的页面

    jsp(java server pages):java服务器端的页面 JSP的执行过程1.浏览器输入一个jsp页面2.tomcat会接受*.jsp请求,将该请求发送到org.apache.jasper ...

  4. 新手详解JAVA+数据库+JSP完成简单页面

    本篇以数据库添加为例(本例中数据库名为“xinxi”表单名字为“stud”) 准备---实体层: package entity; public class Student { private Stri ...

  5. JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术

    JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术.从这一点来看,非常类似Microsoft ASP.PHP等技术.借助形式上的内容和外观表现的分 ...

  6. 转:java服务器安全指南

    转: http://drops.wooyun.org/web/16609 JAVA安全之JAVA服务器安全漫谈 z_zz_zzz · 2016/06/08 10:50 0x00 前言 本文主要针对JA ...

  7. JSP(Java Servlet Page)

    一.简介 HTML HTML擅长显示一个静态的网页,但是不能调用Java程序. Servlet Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. 我们希望创建 ...

  8. servlet+jsp+java实现Web 应用

    servlet+jsp+java实现Web 应用 用java来构建一个web应用是特别容易的事情,jsp和php很像,可以嵌套在html中.程序的结构很简单,也很清楚,本文主要记录下大概的开发过程和环 ...

  9. servlet+jsp update修改页面的实现,整整搞了两个小时才搞定

    package DAO; public class books { private int bid; private String bname; private int booksl; private ...

随机推荐

  1. python tips:类的动态绑定

    使用实例引用类的属性时,会发生动态绑定.即python会在实例每次引用类属性时,将对应的类属性绑定到实例上. 动态绑定的例子: class A: def test1(self): print(&quo ...

  2. 【JavaScript框架封装】在实现一个自己定义类似于JQuery的append()函数的时候遇到的问题及解决方案

    主要问题: 在刚开始创建了这个函数之后,使用的时候,总是会出现一个问题,就是按照正常步骤给一个ID选择器添加子节点的时候正常,但是到了给一个class选择器的元素添加的时候始终只能添加一个. 下面是我 ...

  3. eclipse debug的时候提示debug Edit Source Lookup path

    原因可能是代码资源包未加载到debug的路径中,解决方法如下: Debug 视图下 ->在调试的线程上 右键单击 ->选择Edit Source Lookup Path ->选择Ad ...

  4. 【CodeForces 353 A】Domino

    [链接] 我是链接,点我呀:) [题意] [题解] 分类讨论一波 设第一个数组的奇数个数为cnt1 第二个数组的奇数个数为cnt2 显然只有在(cnt1+cnt2)%2==0的情况下. 才可能第一个数 ...

  5. HDU 1061 EASY

    //回宿舍去了,明天做点难一点的题,今天做的都很水,感觉.没意思.#include <iostream> #include <cstdio> using namespace s ...

  6. 使用CSStickyHeaderFlowLayout实现头部固定的CollectionView

    近期流行的一种界面效果,是瀑布流的header固定,也叫sticky header或者parallax.对于UITableView,能够比較方便地让table header固定,可是对于UIColle ...

  7. 一个三年Android开发的总结-开篇

    一个三年Android开发的总结-开篇 转眼间全职从事Android开发已有三年,想把这一阶段的积累总结记录并展现出来,作为Android开发必备的知识,希望对有一定Android开发基础的人进阶有裨 ...

  8. ES内存持续上升问题定位

      https://discuss.elastic.co/t/memory-usage-of-the-machine-with-es-is-continuously-increasing/23537/ ...

  9. python绘制caffe中网络模型

    caffe-master/python/draw_net.py 实现绘制caffe中定义的网络模型功能,将.prototxt文件可视化. 需要先安装pydot和protobuf工具 通过Anacond ...

  10. Java-杂项: Java中Array和ArrayList区别

    ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...