JSP

本文详细介绍了JSP的基础知识,包括JSP的运行原理、脚本标签、指令标签以及九个内置对象和四个作用域。接着,重点讲解了EL表达式的使用,如获取作用域中的值、做运算、操作web对象,并通过案例展示了如何根据年龄显示用户信息。最后,简述了JSTL的引入及其核心标签库的应用。
摘要由CSDN通过智能技术生成

1.JSP基础

2.EL表达式

 

一、JSP基础

1.简介

        JSP(java server pages) Java服务器页面

       静态网页:可以直接被浏览器渲染。但是不能做数据交互。

       动态网页:不可以被浏览器直接渲染,需要第三方辅助可以与Java进行数据交互操作。

       JSP = html+java+jsp本身的标签

       JSP是动态资源。但是在编写上和访问上更像静态资源。存储时也和静态资源放在一起。

      第一个JSP页面

     1、更改整体编码JSP编码格式

     2、创建第一个JSP

     3、JSP页面组成

     4、运行

2.JSP运行原理

        JSP是动态资源还是静态资源?

        是动态资源,放的位置,编写和访问上很像静态资源。

       :JSP本质上就是Servlet

       jsp如何运行?

      一个jsp在第一次访问时,会被服务器中的jsp引擎(服务器中编译jsp的软件模块)

      编译成一个Servlet  jsp名字_jsp.java  jsp名字_jsp.class并且放在 Tomcat的work目录下。

      JSP和Servlet表现形式上不同

         a.编写jsp文件就是编写文本文件一样。编写servlet编写的是java程序。

         b.编写jsp以后,直接将jsp拷贝到容器的部署目录就可以了。

         c.编写后的servlet要通过web.xml文件加以配置。jsp直接访问就行了。

         d.jsp和静态资源放在一起就可以了。-----jsp在使用上更像静态资源。

        

       打开first_jsp.java

       发现,原来JSP编译过后其实就是一个Servlet。 JSP的本质就是一个Servlet。

      Servlet:继承HttpServelt 作为控制层框架<连接前后台>,作用是接收页面的数据、调用业务方法、返回指定页面。

      JSP:继承HttpJspBase 这个类是一个HttpServlet的子类。但是属于一个简化版的Servlet。作用是为了能够让Jsp页面实现动态交互。 作为展示层<展示信息>存在

3.JSP脚本标签

      代码片段(内联代码):<%  Java代码  %>  (显示在service方法中)

      脚本表达式:<%= 值 %>        意思就是将java的内容输出到页面上 等同 PrintWriter

      JSP的声明:<%!java声明 %>       解释:对应Java就是全局变量。

      JSP注释:<%--  注释代码 --%>

      在JSP中HTML的注释和JSP的注释都可以使用。区别是

      1、HTML注解最终会原样输出到HTML代码上。不丢失。

      2、JSP在Tomcat转化Java类的时候直接给去掉,为了能够让字节码文件更简洁运行更速度。最终是不可见只有原页面中能见到。

 4.JSP指令标签

      (1)page指令

language      jsp中可以嵌入的语言 目前为止只能填java
import        用来导包
pageEncoding  设置当前jsp页面的编码方式
contentType   设置浏览器查看这个页面时使用编码方式
session       默认是true 当前jsp中能否使用session(如果为true,则在这个jsp中就已经可以使用session对象)
isELIgnored   当前页面能否使用EL表达式
buffer        缓存区大小  默认是8kb
autoFlush     是否自动刷新
errorPage     指定错误页面
isErrorPage   设置为错误页面 (设置为错误页面,就有处理异常的功能)
以上两个属性,一般不用,一般错误处理是在web.xml中统一进行配置

       web.xml中配置报错页面

      1、import

      2、errorPage

     访问first.jsp,出现异常,显示errorPage.jsp页面的内容。

      3、include

     访问first.jsp,second.jsp的内容也显示在first.jsp页面上

      4、引用标签库(本文下面用到)

<%@ taglib prefix="" uri="" %>

5.JSP九个内置对象

request请求对象 response响应对象  是service方法参数
page页面对象                      Object类型,指向this
pageContext页面对象               jsp的上下文对象,
                                 作用一:作为作用域,取值范围是当前页面
                                 作用二:可以用来获取其他八个内置对象(一般在通用编程时才会使用)
application应用对象服务器对象      就是ServletContext
session会话对象                   会话
config配置信息对象                就是ServletConfig
out输出对象                       是PrintWriter的子类
exception异常对象                 Throwable

      1、request

package com.xj.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DemoServlet extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request,response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String companyName = "青青草原";
		//把name值存在request作用域中
		request.setAttribute("companyName", companyName);
		request.getRequestDispatcher("com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值