JSP入门(一)

jsp入门

概念: java server pages:java服务器端页面
* 一个特殊的页面,可以定义java代码又可以定义html标签
* 用于简化书写

原理

  • JSP本质是一个Servlet

jsp原理

脚本

JSP定义java代码的方式

  • <% java代码 %> 定义的java代码在service方法中可以定义什么,代码就能定义什么
  • <%! java代码 %> 在jsp转换后的java类的成员位置。
  • <%= java代码 %> 定义的java代码会输出到页面上,输出语句可以定义什么就可以写什么
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%
    System.out.println("hello, jsp!"); //打印到控制台
    int i = 5;
  %>
  <%!
    int i = 3; //在jsp转换后的java类的成员位置。
  %>
  <%=
    i  //输出到页面上
  %>
  hello, jsp! <%--显示在页面--%>
  </body>
</html>

output:5 hello, jsp!

JSP内置对象

  1. 在jsp页面中不需要获取和创建,可以直接使用的对象称为内置对象
  2. jsp有9个内置对象
    1. request
    2. response
    3. out:字符输出流对象,将数据输出到页面上,类似于response.getWriter()区别:out对象的定义在哪就在哪输出,而resp对象的输出流始终在out对象前输出 Tomcat在给客户端做出响应时始终先找response的缓冲区,再找out缓冲区
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>showTime</title>
</head>
<body>
    <%
        Cookie[] cs = request.getCookies();
        boolean flag = false;
        if(cs != null && cs.length > 0){
            for (Cookie c : cs) {
                String name = c.getName();
                if(name.equals("lastTime")){
                    flag = true;
                    String value = c.getValue();
                    int nowTime = (int)(System.currentTimeMillis()/1000);
                    int lastTime = Integer.parseInt(value);
                    int subTime = nowTime - lastTime;
    %>
     <h1>欢迎你回来,你上次访问在<%= subTime%>秒前!</h1>
    <%
                    c.setValue(nowTime + "");
                    c.setMaxAge(60 * 60 * 24 * 30);
                    response.addCookie(c);
                    break;
                }
            }
        }
        if(cs == null || cs.length == 0 || flag == false){
            String time = System.currentTimeMillis()/1000 + "";
            Cookie cookie = new Cookie("lastTime", time + "");
            cookie.setMaxAge(60 * 60 * 24 * 30);
            response.addCookie(cookie);
    %>

            out.write("<h1>你好,欢迎你首次访问</h1>");
    <%
        }

    %>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值