首页 > 其他分享 >JSP_基本知识

JSP_基本知识

时间:2023-02-10 20:11:07浏览次数:31  
标签:Java 对象 代码 基本知识 jsp 转译 JSP servlet

简而言之,把tomcat服务器会自动把jsp文件转译为servlet类。

 

 


 

一、简介

服务器响应客户端,大部分时候是响应一个html页面。

而在Servlet中使用io流编写html代码,很麻烦。

所以由Sun Microsystems公司倡导,许多公司参与,共同创建了一门技术,能够在代码中同时存在js、html、css、Java语言。

叫做Java Server Pages。

它的本质是Servlet的封装。


 

二、原理

解释器模式。

步骤:

  1、服务器发出一个请求到jsp文件,比如:

   2、tomcat服务器寻找别名是 index.jsp 的Servlet类,即使用 org.apache.jasper.servlet.JspServlet 进行响应。


 

      在tomcat的安装目录下的conf文件夹中的web.xml中配置了:

 

 

 

 


  3、JspServlet把.jsp文件的内容转义为Java代码。


 

    html、css、js代码:

 

     Java代码:

      1、直接在service方法体中。

      2、在Servlet类中,作为成员变量、属性存在。

      3、嵌入到输出流中。


    3、执行转义自动生成的servlet进行响应。

 

 

 


三、内容

1、page指令

  用来配置jsp文件的转译相关参数。

格式:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<!--
常见属性:
    language:声明要转译的语言
    import:要导入的包
    contentType:响应给浏览器的编码格式
    pageEncoding:jsp文件的编码格式
    session:设置是否开启session支持,默认开启,置为false则关闭
    errorPage:设置jsp运行错误跳转的界面
    extends:设置转译的java类继承的父类
-->

2、Java代码块

2.1、局部代码块

  会编译在servlet的响应方法中(service方法)。

格式:

<% Java代码 %>

2.2、全局代码块

  会编译在servlet类中作为成员变量或方法出现。

格式:

<%! 全局Java代码 %>

2.3、角标语句段

  会被编译在输出流中。

格式:

<%= Java脚本代码 %>

四、引入

为了减低代码冗余,我们需要引入相同的jsp代码,例如网页头,网页尾。

1、静态引入

  将引入的jsp文件一起转译为一个servlet类,实现合并效果

格式:

<%@includ file="相对路径" %>

2、动态引入

  会将引入的jsp文件单独转译为一个servlet,在当前文件转译好的方法中调用引入的jsp文件,实现合并效果

格式:

<jsp:include page="相对路径"></jsp:include>

五、转发

  打开另一个jsp页面,底层实现为请求转发,可以携带数据,数据以键值对的形式,用?隔开,拼接在转发路径后面(即get请求)。

格式:

<jsp:forward page="相对路径">
     <jsp:param name="键" value="值" />
</jsp:forward>

六、内置对象

  自动转译生成的响应方法(service方法)中自动生成的对象,可以在局部Java代码块中直接使用。

1、页面上下文

//封装了其他内置对象,以及当前jsp的运行信息
pageContext

2、请求响应对象

//请求对象
request
//响应对象
response

3、session对象

//用来储存用户不同请求直接的数据共享
session

4、ServletContext对象

//一个项目一个的共享对象
application

5、输出流对象

//直接把内容响应给浏览器,会解析html
out

7、this对象

//转译生成的servlet类的运行时对象
page

8、异常对象

//储存了当前运行的异常信息,默认不开启,在page中指定isErrorPage="ture"开启
exception

9、ServletConfig对象

//可以获取web.xml中为此servlet配置的数据
config

七、路径

  在使用相对路径的时候,不能随意更改任意文件的位置。

给资源前面添加项目路径:

  此时访问资源,直接从项目根目录开始。

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>

<base href="<%= basePath%>">

 

标签:Java,对象,代码,基本知识,jsp,转译,JSP,servlet
From: https://www.cnblogs.com/lurenjia-bky/p/17110189.html

相关文章

  • JSP概念、原理、脚本
    JSP概念1.概念:JavaServerPages:java服务器端页面以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!!<......
  • JSP WEB项目大文件上传下载解决方案
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求     ......
  • JSP_案例_改造Cookie案例与会话技术_Session_快速入门
     JSP_案例_改造Cookie案例<%@pageimport="java.util.Date"%><%@pageimport="java.text.SimpleDateFormat"%><%@pageimport="java.net.URLEncoder"%><......
  • JSP_脚本与JSP_入门学习
    JSP_脚本JSP的脚本:定义java代码的方式1.<%代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本就可以定义什么。......
  • MPLS 基本知识概述
    :::hljs-center:::什么是MPLSMPLS全称多协议标签交换系统(Multi-ProtocolLabelSwitiching)是一种在开放通信网络中利用标签引导数据进行高效转发的一种协议。简单来......
  • JSP指令
    指令作用:用于配置JSP页面导入资源文件格式:<%@指令名称属性名1=属性值1属性名2=属性值2...%>分类page配置JSP页面的c......
  • JSP概念 原理 脚本
    JSP概念JavaServerPages:java服务端页面可以理解为:一个特殊页面,其中既可以指定定义html标签 有可以定义java代码用于简化书写原理......
  • shiro-从数据库中获取授权信息与显示菜单在页面上(注解版和jsp标签)
    修改realm的doGetAuthorizationInfo,从数据库查询权限信息。使用注解式授权方法。使用jsp标签授权方法。1.修改doGetAuthorizationInfo从数据库查询......
  • 基于jsp+sevlet+mysql实现留言板
    @目录一、系统介绍二、获取源码三、功能展示1.用户登陆2.用户注册3.留言信息4.添加留言四、其它1.其他系统实现2.获取源码一、系统介绍系统主要功能:用户登陆、用户注册......
  • jsp+sevlet+mysql实验室设备管理系统
    @目录一、系统介绍二、功能展示1.通知公告(学生)2.实验设备借用申请(学生)3.设备借用记录(学生)4.实验室预约申请(老师)5.实验室预约记录(老师)6.实验设备借用申请(老师)7.......