JSP入门精讲(一)

本文详细讲解了JSP的基础知识,包括JSP的概念、与HTML的区别、JSP语法和指令的使用,如执行标签、page指令、代码块,以及内置对象的介绍。同时,也探讨了web程序中常见的错误,如404和500错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是JSP

JSP:Java Server Page(在服务端使用java生成网页的技术)

JSP帮助开发人员将运行结果与html标签快速写入到响应包中

jsp:属于动态的资源文件

二、JSP与HTML的区别

1.文件类型

html属于静态资源文件

jsp属于动态资源文件

<html>
    <%
    String value = request.getParameter("name");
    %>
hello<%=value%>
</html>
2.调用方式

html:被访问时,Tomcat直接将html写入到响应体中

jsp:被访问时,

  1. Tomcat将jsp文件【翻译】为一个java文件(Servlet)
  2. Tomcat将当前的java文件【编译】为一个class文件
  3. Tomcat调用class文件,class文件_jspService方法开始工作了
  4. 将在JSP文件中书写【所有与java命令无关的内容写入响应包】
  5. Tomcat负责将响应表推送给用户的浏览器
    在这里插入图片描述

三、JSP语法和指令

1.执行标签

<% %> 相当于 { }

可以声明java变量

可以声明java中运算表达式:算术,关系,逻辑

控制语句:if……else for while

在执行标签书写的所有内容,都会被Tomcat存入对应的_jspService方法中

<%@page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <%
    int a=10;
    int b=20;
    int c=a+b;
    %>
    a+b=<%=c%>     <%--out.println(c)--%>
    <br>
    50*40=<%=50*40%>  <%--out.println(50*40)--%>
</html>
2.page指令

page指令负责jsp的配置工作

<%@page 属性名="属性值" 属性名="属性值"……%>
/*
属性介绍
language:jsp要被转义的语言
import:声明转义后的java文件要导入的包
pageEncoding:设置jsp文件的数据编码格式
contentType:resp的转义到的servlet响应格式
session:设置转义的servlet中是否 开启session支持,默认开启
errorPage:设置jsp运行错误之后跳转的页面
extends:java要继承的父类
*/
3.java局部代码块
<%
//这是java代码块
System.out.printin("这里是java代码块");
%>

特点: 局部代码块声明的代码块中声明的java代码会被原样转义到jsp对应的servlet文件的_JspService方法中, 代码块中声明的变量是局部变量

4.java全局代码块
<%!
    //这是全局方法块
    public void test(){
    System.out.printin("我声明了一个方法");
}
%>

特点: 声明的全局代码作为类的属性和方法被转义到对应的servlet中

5.java变量和jsp数据流转
<%String str = "这里是要被jsp输出的变量"%>
<%--使用尖括号加百分号加等号的方式--%>
<P> <%=str%> </p>

注意:不要在使用之后添加分号

6.java静态引入
<%@inlucde file="includeStatic.jsp" %>
<%-- file路径为相对路径 --%>

特点:在jsp转义的时候, 会把被静态引入的jsp文件, 和自身文件转义成一个servlet文件

注意:java代码块很可能会发生重名变量和重名方法

7.动态引入
<jsp:include page="要引入的jsp文件的相对路径"></jsp:include>

特点:会将引入的jsp文件单独转义,在当前文件转义好的java文件中调用引入的jsp文件的转义文件, 在网页中显示合并后的显示效果

注意:动态引入允许文件中声明同名变量

8.转发
<jsp:forward page="要转发的jsp文件的相对路径">
	<jsp:param value=“aaa” name=“str” />
</jsp:forward>

一次请求,地址栏信息信息不变. 和servlet请求转发相同

注意: 两个标签中间, 除了数据流转用的子标签之外, 其他任何标签都会报错

四、内置对象

1.概述:

直接在jsp页面中,不需要获取和创建,直接可以使用的对象

2.分类:

1.request 2.response 3.session

4.out 5.page 6.application

7.pageContext 8.config 9.exception

内置对象名真实数据类型作用
1.requestHttpServletRequest一次请求中共享数据
2.responseHttpServletResponse响应对象
3.sessionHttpSession一次会话中共享数据
4.outJSPWriter输出对象,输出数据到当前页面
5.pageObject当前页面的对象
6.applicationServletContext所有用户间的共享数据
7.pageContextPageContext当前页面共享数据,通过该对象可以获取其他8个内置对象
8.configServletConfigservlet配置对象
9.exceptionThrowable只有异常页面有该对象
                        |

五、web程序常见的错误

404:

找不到访问的页面或者资源

  • 运行时,URL输入错误
  • 将页面放在WEB-INF下
  • 外部启动Tomcat,未部署项目
500:

jsp页面代码有错误

页面无法显示:

Tomcat可能没打开

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值