JSP入门精讲(一)

一、什么是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.request HttpServletRequest 一次请求中共享数据
2.response HttpServletResponse 响应对象
3.session HttpSession 一次会话中共享数据
4.out JSPWriter 输出对象,输出数据到当前页面
5.page Object 当前页面的对象
6.application ServletContext 所有用户间的共享数据
7.pageContext PageContext 当前页面共享数据,通过该对象可以获取其他8个内置对象
8.config ServletConfig servlet配置对象
9.exception Throwable 只有异常页面有该对象
                        |

五、web程序常见的错误

404:

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

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

500:

jsp页面代码有错误

页面无法显示:

Tomcat可能没打开

猜你喜欢

转载自blog.csdn.net/zjdzka/article/details/113072354