JSP技术

JSP:全名为Java Server Pages,其根本是一个简化的Servlet设计,是一种制作动态网页的标准技术。

在web目录下创建hello.jsp文件

<%-- jsp中要出现中文,一定要指定contentType --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    Hello World
</body>
</html>

jsp的工作原理

当客户端第一次访问jsp时,由tomcat将jsp翻译成Servlet,也就是自动生成一个对应的Servlet,由这个Servlet进 行工作,处理请求,发送响应(将jsp中的html代码发回给浏览器)。

根据上面的hello.jsp的例子,找到生成的Servlet


<%-- jsp中要出现中文,一定要指定contentType --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    //java代码 ,通过查看生成的Servlet,写的Java代码放到service方法中
    String name = "tom";
    //这里不能定义Java方法,因为代码是在service方法中
    /*public void test(){
    }
    */
    //错误 :service方法中request是方法参数,不能重复定义
    //int request = 10;
    //在jsp中直接可以使用request对象,就是service的请求对象

    //在jsp中还可以直接使用哪些引用名?:
    //request、response、pageContext、session、application、config、out、page
    //以上的都是jsp的内置对象
    //例如,使用一下out对象
    out.println("Hello World!!!!!!");
%>
<html>
<head>
    <title>Title</title>
</head>
<body>
    Hello World
</body>
</html>

jsp的内置对象request、response、pageContext、session、application、config、out、page

jsp中的输出表达式的写法:<%= 表达式 %>

<body>
    Hello World<br>
    <!-- 等同于out.print("china") -->
    <%="china"%><br>
    china<br>
    <%=(i++)-10 %><br>
    <%out.print((i++)-10); %><br>
    (i++)-10<br>
</body>

使用jsp在页面上输出9*9乘法表 和 *号的正三角形

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

<html>
<head>
    <title>Title</title>
</head>
<body>
    Hello <br>
    <%//输出9*9乘法表%>
    <table border="1">
    <%for(int i=1;i<=9;i++){%>
        <tr>
            <%for(int j=1;j<=i;j++){%>
                <%//jsp中的输出表达式的写法:第一个百分号之后加= %>
                <td><%=j+"*"+i+"="+j*i%></td>
            <%}%>
        </tr>
    <%}%>
    </table>

    <%//输出正三角形%>
    <table border="1">
        <%for(int i=1;i<7;i++){%>
        <tr>
            <%for(int k=0;k<7-i;k++){%>
                <td><%=" "%></td>
            <%}%>
            <%for(int j=1;j<i*2;j++){%>
            <%//jsp中的输出表达式的写法:第一个百分号之后加= %>
                <td><%="*"%></td>
            <%}%>
        </tr>
        <%}%>
    </table>
</body>

运行结果:

 Jsp的内置对象

在JSP中可以直接使用的引用,而变量则引用了对象。这些对象就是内置对象

内置对象包括:

1.out用来传送内容给客户端,其实是一个输出流对象,是JspWriter类的示例,JspWriter类在jsp-api.jar中 out常用的方法:print和println方法

2.request 客户端请求对象,是HttpServletRequest接口的实例

3.response网页传回用户端的响应,是HttpServletResponse接口的实例

4.session 与请求有关的会话对象,客户端和服务器的会话对象

5.application 是ServletContext接口的对象,生命周期最长的应用程序对象

6.pageContext 当前JSP的页面上文对象,当访问了这个jsp时,就创建了PageContext对象,当jsp访问结束时 PageContext对象被销毁。

PageContext对象能获得其他的八个内置对象。

例如:pageContext.getRequeste(); pageContext.getSession(); 如果要封装一个Java方法,在方法中要使用 request、response、session、ServletContext等对象,就要定义好多的方法参数,但是只定义一个PageContext 参数就可以获得其他的内置对象。

PageContext对象具有setAttribute和getAttibute方法 PageContext的生命周期 小于 request

可以将一个对象存储到PageContext、request、session、ServletContext的Attribute中,对象就有了自己的 生命周期

JSP中的JavaBean的生命周期从小到大依次是:page、request、session、application

指令
1.page
2.include
3.taglib  标签库

JSP的include指令用法
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String date = sdf.format(new Date());
    out.print(date);
%>
<html>
<head>
    <title>Title</title>
</head>
<body>
</body>
</html>
<!--包含其他JSP的内容,拷贝到该位置,能衔接到一起-->
<%@include file="test2.jsp"%>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aigo-2021

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值