Jsp预习

一、JavaWeb简介:

1.Tomcat目录:

在这里插入图片描述
bin目录下有启动Tomcat的startup.bat文件,以及关闭Tomcat的shutdown.bat文件。

关闭Tomcat可以通过直接点击命令行窗口的关闭按钮,也可以通过shutdown.bat来关闭。
一般建议通过第二个方法关闭Tomcat。

2.简单编写一个Java Web程序

1.打开Tomcat
在这里插入图片描述

2.在Tomcat目录下地webapps目录下创建一个文件夹:myhome
在这里插入图片描述

3.在myhome目录下创建一个.jsp文件:index.jsp。

index.jsp文件是Tomcat服务器默认的欢迎文件,
即如果浏览器中只输入项目的根目录http://localhost:8080/myhome,它就会默认打开index.jsp文件。

在这里插入图片描述

编写index.jsp
在这里插入图片描述
创建一个WEB-INF文件
在这里插入图片描述
在WEB-INF文件夹里面创建classes与lib文件,再从\webapps\examples\WEB-INF中复制一个web.xml文件到WEB-INF文件夹

WEB-INF目录结构:
1、WEB-INF是Java的WEB应用的安全目录。(所谓安全就是客户端无法访问,只有服务端可以访问。)
2、web.xml是项目部署文件。
3、lib里面存放要使用的.jar包
4、classes文件夹里面存放编译生成的字节码文件

在这里插入图片描述
4.运行
在浏览器中输入localhost:8080/myhome/index.jsp
在这里插入图片描述
5.结果
在这里插入图片描述

3.修改Tomcat服务器默认端口号

修改conf/web.xml文件中的
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
把“8080”更改即可在这里插入图片描述

二、JSP

JSP简介
JSP全名为Java Sever Pages,即Java服务器页面。
JSP的主要作用是代替Servlet程序回传HTML页面的数据。
JSP的本质上是一个Servlet程序。

JSP基础语法
1、JSP页面元素

(1) 三大指令元素

1、 page 通常位于JSP页面顶端,同一个页面可以有多个page指令。page指令可以修改页面中的一些组要属性和行为。
2、include 将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句
3、 tagelib 使用标签库定义新的自定义标签,在JSP页面中启动定制行为

在这里插入图片描述

page指令语法:

<%@ page 属性1="属性值" 属性2="属性值"...属性n="属性值"%>

以下属性均可以写在page指令中:

  1. contentType属性:表示JSP返回的数据类型是什么,即response.setContentType()的参数值
  2. languang属性:表示JSP翻译后是什么语言,(目前只支持Java)
  3. pageEncoding属性:表示JSP文件使用的字符集
  4. import属性:引入包,与Java一致
  5. autoFlash属性:设置out输出流缓冲区满了后是否自动刷新缓冲区,默认值是true
  6. buffer属性:设置缓冲区大小,默认8KB(注意:如果out缓冲区满了之后不能自动刷新的话会报错)
  7. errorPage属性:设置当JSP页面运行出错时自动跳转到的页面(错误信息页面)的路径
  8. isErrorPage属性:设置当前JSP页面是否是错误信息页面,默认是false。如果是true可以获取错误信息
  9. session属性:设置访问当前JSP页面时是否会创建HttpSession对象,默认值是true
  10. extends属性:设置JSP页面翻译出来的Java类默认继承谁

(2)JSP的三种注释

JSP的注释:

<%--JSP注释--%>//客户端不可见

HTML的注释:

<!--html注释-->//客户端可见

JSP脚本注释:

//单行注释
/* 多行注释  */
2、JSP脚本元素

1、声明脚本
格式:<%! 声明Java代码 %>
作用:可以定义Java代码的属性,方法,静态代码块,内部类等
特点:不会在浏览器的页面上显示出来,仅存在于JSP翻译后的Java类中

代码演示:

<%--
  Created by IntelliJ IDEA.
  User: spider-man
  Date: 2021/5/8
  Time: 11:22
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%--声明类属性--%>
        <%!
            private String name = "Bob";
            int weight = 50;
        %>
    <%--声明类方法--%>
        <%!
            public static void Hello() {
                System.out.println("Hello");
            }
        %>
    <%--声明静态代码块--%>
        <%!
            static {
                int number = 0;
                System.out.println("程序开始执行");
            }
        %>
    
</body>
</html>

2.表达式脚本
格式:<%=表达式%>
作用:在浏览器页面上输出数据(只有此脚本可以在浏览器的页面上输出数据)
特点:
(1) 所有的表达式脚本都会被翻译到对应的Java类的_jspService()方法中,故表达式脚本可以直接使用_jspService()方法参数中的对象
(2) 表达式脚本都会被编译后的Java类中的out.print()方法输出到浏览器页面上
(3) 表达式脚本中的表达式不能以分号结束

3.JSP页面生命周期
在这里插入图片描述
jspService()方法被调用来处理客户端的请求。对于每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统资源的需求,提高系统并发量以及缩短反应时间。但也要注意多线程的编程带来的同步问题,由于该Servlet始终驻于内存,所以相应非常快。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值