JavaWeb之 JSP基础

什么是JSP

JSP的全称是java server page, java服务页面。是提供java服务的页面~

那么和Servlet有什么区别呢?JSP的页面既可以写java代码~也可以写html代码哦!!

JSP的特点

JSP的作用:JSP是主要用来开发动态资源的技术~

那么JSP怎么运行呢?我这里交给Tomcat服务器运行了~

Jsp运行的目录

%tomcat%/work是tomcat服务器运行jsp页面的临时目录。

那么我们来看看JSP的原理,JSP是怎么运行的~

我们用浏览器输入: http://localhost:8080/day12/01.hello.jsp

第一次访问时:               找到文件-翻译-编译-构造实例-调用方法

1)在day12web应用下找到01.hello.jsp文件

2)tomcat服务器将01.hello.jsp文件翻译成java源文件。例如 01.hello_jsp.java

3)tomcat服务器将java源码编译成class字节码, 例如 01.hello_jsp.class

4)tomcat服务器构造01.hello_jsp类的实例,调用类中的方法。

第n次访问时:                              已经存在了jsp文件对应的class对象的一个实例,直接用该实例调用方法

tomcat服务器不再翻译和编译jsp文件

注意:                   jsp文件被修改,或jsp临时文件被删除,服务器都会重新翻译和编译jsp文件。

1)当修改了jsp文件时的第一次访问,重新再翻译和编译jsp文件。

2)当删除%tomcat%/work的jsp临时文件的第一次访问,重新再翻译和编译jsp文件。

Jsp的原理

问题: Jsp文件翻译成的java源文件是什么类??

public final class hello extends HttpJspBase

public abstract class org.apache.jasper.runtime.HttpJspBase extends HttpServlet implements HttpJspPage {

    继承自HttpServlet!!!

结论: Jsp就是一个servlet!!

注意

1) Jsp文件的html代码,通过out.writer()方法写出到浏览器。

2) Jsp文件的java代码,直接拷贝到java源文件中,通过_jspService()方法执行。

那么我们下面来体验一下JSP吧~

jsp的体验

需求: 用jsp向浏览器输出当前时间。下面是核心代码:

  <body>
           <h1><font color=‘red‘>欢迎来到此页面</font></h1>
           <%
               SimpleDateFormat simaple = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");
               String date = simaple.format(new Date());
               request.setAttribute("aa", "123");
            %>
           当前的时间是:<%=date %>
           <%
               String ip = request.getRemoteAddr();
               out.write(ip);
            %>
  </body>

然后用浏览器直接访问这个jsp,就能看到以下的效果了~

体验完JSP,是不是很自己写一个体验一下呢?下面我们就来学习JSP的语法吧!

JSP的语法

Jsp模板

Jsp模块:就是jsp页面中的html代码

Jsp表达式

例如:<%=x%>   表达式<%=x*y+k-n%>

这样写的表达式,翻译后实质上是用过out.print()来输出。

格式: <%=变量或表达式计算%>

作用: 用于向浏览器输出变量的值或表达式计算的结果

注意:

1)表达式的原理就是通过out.print()方法向浏览器输出内容。

2)表达式后面不能带分号。

Jsp脚本

也就是html中的java代码

格式:<%  java代码  %>

作用: 执行java代码

注意:

1)可以写多行java代码

2)原理是把脚本代码原封不动拷贝到_jspService方法中执行。

3)jsp脚本可以穿插html代码结合使用

Jsp声明

声明里面的 变量和方法 是 成员变量 和成员方法

格式: <%!  %>

作用: 声明jsp的变量和方法

注意:

1)Jsp脚本声明的变量是局部变量,Jsp声明的变量是成员变量。

2)Jsp脚本中不能声明方法的,Jsp声明的方法是成员方法。

3)jsp声明的方法不能和翻译成的java类的方法重复。

Jsp注释

jsp注释只会出现在jsp文件中,不会被翻译到java文件里。

格式: <%--  jsp注释 --%>

注意:

html的注释会翻译到java源代码中,会被执行的。

jsp的注释不会翻译到java源代码中,不会被执行的。

看完前面的介绍那么久写一段代码来体现下吧~

  <body>
          <%--模板 --%>
           <h1><font color=‘red‘>欢迎来到此页面</font></h1>

           <%--脚本 --%>>
           <%
               SimpleDateFormat simaple = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");
               String date = simaple.format(new Date());
               request.setAttribute("aa", "123");
            %>            

            <%--表达式 --%>>
           当前的时间是:<%=date %>
           <%
               String ip = request.getRemoteAddr();
               out.write(ip);
               out.write(s);
            %>

            <%--声明--%>
            <%!
               String s = "hello";
            %>

  </body>

然后看看输出的结果把~:

上述就是JSP的基本语法,除了基本语法,我们还需要学习JSP的三大指令。

Jsp三大指令

一)taglib指令(这个我们以后再说)

    主要用于导入jsp标签库

二)include指令

include指令  ----》把其它页面一并翻译到java文件里,这个页面不需要具备html,body,head标签,因为它会被翻译到jsp文件对应的html的body内

作用: 主要用于包含其他页面

格式:<%@inculde  file="被包含的页面"%>

注意:

1)include指令原理: 包含与被包含的页面内容先合并翻译到一个java文件中,再编译运行。(先合并再翻译),这种包含叫静态包含。(源码包含)

2)如果使用include指令包含,那么被包含的页面不需要使用全局的html标签(例如,html,body,head)

page指令

作用: 主要用于告诉服务器如何翻译jsp文件,主要有下面几种设置:

<%@ page 

  language="java"    --告诉服务器用什么语言翻译此jsp页面

  import="java.util.*" --导包,在jsp页面编写java需要手动导包。除了java.lang包以为都需要导入。多个包之间用逗号分隔

   buffer="8kb"    --jsp页面缓冲区大小


  session="true"  -- 是否开启session功能


    isELIgnored="false"  --是否忽略EL表达式


关于jsp文件的编码:

  pageEncoding="utf-8"    --告诉服务器用什么编码翻译此jsp文件

  contentType="text/html; charset=utf-8"  --服务器发送给浏览器数据的编码

注意:

1)contentType属性的编码看pageEncoding编码

2)在开发工具中,保存jsp文件的编码自动根据pageEncoding的编码改变。

结论:

1)在开发工具中,jsp文件的编码问题只需要设置pageEncoding即可!

2)如果用记事本开发jsp文件,要注意保存jsp文件的编码。

异常相关的:

 errorPage=""   -指定错误处理页面,当页面出现错就会转跳到错误页面。

 isErrorPage=""  --指定当前页面是否是错误处理页面。

true:是,那么可以使用exception的内置对象,使用它的一些方法。

false:不是。不可以使用exception对象。

全局异常处理:在web.xml中加上配置
<!-- 配置全局异常 -->
    <error-page>
        <error-code>500</error-code>
        <location>/common/500.jsp</location>   505错误都会转跳到这个页面
    </error-page>
    <error-page>
        <error-code>404</error-code>
        <location>/common/404.html</location>    404错误都会转跳到这个页面

    </error-page>
				
时间: 2024-10-18 09:27:18

JavaWeb之 JSP基础的相关文章

JavaWeb系列-JSP基础语法

JSP注释(页面中,右键->查看源代码是否可见) 1.客户端可见的显式注释 <!-- 注释内容 --> 2.客户端不可见的隐式注释 单行注释    //注释内容 多行注释    /*注释内容*/ JSP注释     <%-- 注释内容 --%> 显式内容会发送到客户端,而隐式内容不发送到客户端 Scriptlet 所有在嵌入在HTML代码中的Java程序都必须使用Scriptlet标记出来. <%%> 可在标记中定义局部变量.编写语句 <%!%> 可在

Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 HTML 形式返回, Java 程序运行在服务端,最终显示在客户端.JSP 源于 Java,因而 JSP 的运行环境依赖JDK,当然也需要服务器软件(例如 Tomcat 等). 一.运行环境搭建 1.安装 JDK,请参阅之前的博文:Java学习-001-JDK安装配置 2.Tomcat部署及环境变

web day11 JSP基础,Cookie,HttpSession

主要内容: 1. JSP基础 2. Cookie 3. HttpSession ================================ JSP基础 1. jsp的作用: *Servlet: > 缺点:不适合设置html响应体,需要大量的response.getWriter().print("<html>") > 优点:动态资源,可以编程. *html: > 缺点:html是静态页面,不能包含动态信息 > 优点:不用为输出html标签而发愁

01_01 JSP基础语法

JSP基础语法 一.注释 1.显式注释,客户端可见 <!--注释--> 2.隐式注释,客户端不可见 //注释单行 /*注释多行*/ <%--JSP注释--> 二.Scriptlet 1.第一种 Scriptlet: <%%> 可以用于定义局部变量.编写语句等 <%     int x = 10;     String info ="www.126.com";     out.println("<h2>x="+x+

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

Servlet&amp;jsp基础:第五部分

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4289323.html JSP. 80 JSP源码生成... 81 将JSP页面配置成Servlet 84 JSP基础语法... 84 JSP模板元素... 84 JSP表达式... 84 JSP脚本... 84 JSP声明... 85 EL

jsp之jsp基础

1. Jsp生命周期 客户端第一次请求->web容器把jsp文件转译为servlet源文件(java)->编译为class文件->载入class文件生成servlet对象 2. Jsp转译的servlet 可重写的方法jspInit.jspDestroy 3. 指示元素 page <%@ page pageEncoding="gb2312" contentType="text/html; charset=utf-8" %> pageEn

Java Web(3):JSP基础

JSP:Java Server Pages JSP 源代码包含了 JSP 元素和 Template data(<% %>标签以外的部分) JSP 文件最终都会转换成 Servlet 去执行,执行过程: JSP 语法:1.编译器指令:2.脚本语法:3.动作语法 注释: <!-- HTML注释 --> <%-- JSP注释 --%> <!-- <%=new java.util.Date()%> --> 编译器指令:包含在<%@  %>中

学习日常笔记&lt;day12&gt;jsp基础

1.Jsp基础 1.1Jsp引入 Servlet的作用:用java语言开发动态资源的技术 Jsp的作用:用java语言(+html语言)开发动态资源的技术 jsp就是servlet 1.2Jsp的特点 1)jsp的运行必须交给tomcat服务器 tomcat的work目录:tomcat服务器存放jsp运行时的临时文件 2)jsp页面既可以写html代码,也可以写java代码 (html页面不能写java代码,而jsp页面可以写java代码) 1.3体验jsp页面作用 需求:显示当前时间到浏览器上