JSP(一)

JSP页面元素

a.脚本Scriptlet
i

  	     <%
                   String name="zhangsan";
                   out.println("hello"+name);     //定义局部变量、java语句
                   init();
            %>

ii

	<%!
	                public String bookname;    //定义全局变量
	                public void init()                 //定义方法
	                {
	                bookname="java书";
	                }	                
	%>

iii

        <%=
        "hello...."+bookname%   //输出表达式,不加分号
        >

一般而言,修改web.xml、配置文件、java需要重启服务,但是修改Jsp/html/css/js,不需要重启
注意:out.println()不能回车;要想回车:“<br/>"。<%=%>中可以直接解析html代码
b.指令

  1. page指令
    <%@ page… %>
  2. page指定的属性:
    language:jsp页面使用的脚本语言
    import:导入类
    pageEncoding:jsp自身编码 jsp->java
    contentType:浏览器解析jsp的编码

c.注释
html注释 <!-- -->
java注释 // /* …*/
jsp注释 <%-- --%>

JSP九大内置对象(自带的,不需用new 也能使用)

  1. out :输出对象;向客户端输出内容

  2. request:请求对象;存储”客户端向服务端发送的请求信息”
    request对象常见的方法:
    i. String getParameter(String name):根据请求的字段名key(input标签的name属性),返回值value(input标签的value属性值)
    ii. String[ ] getParameterValues(String name):根据请求的字段名key,返回多个字段值values。
    iii. void setCharacterEncoding(“编码格式utf-8”):设置post请求编码。
    iiii. getRequestDispatcher(“b.jsp”).forward(request,response) :请求转发的方式跳转页面 A->B
    iiiii. getServerContext():获取项目的ServletContext对象
    示例:
    get提交方式:method="get"和地址栏、超链接(<a href="xx">)请求方式默认都属于get提交方式。
    get和post提交方式的区别:
    get:get方式在地址栏显示请求信息(但是地址栏显示信息有限,4-5kb。
    post:文件上传操作,必须使用post。(推荐post)
    统一请求的编码 request
    get方式请求,如果出现乱码,解决:
    a. 统一每一个变量的编码
    new String( 旧编码,新编码);
    b. 修改server.xml,一次性更改tomcat默认get提交方式的编码(utf-8)
    URIEncoding=“UTF-8”

  3. response:响应对象;
    respond提供的方法:
    i. void addCookie(Cookie cookie);服务端向客户端增加cookie对象
    ii. void sendRedirect(String location) throws IOExpection:页面跳转的一种方式(重定向)。
    iii. void setContetType(String type):设置服务端响应的编码(设置服务端的ContentType类型)
    示例:login.jsp -> check.jsp -> success.jsp
    注意:response的重定向和request的请求转发区别

    在这里插入图片描述

  4. pageContent:JSP页面容器

  5. session
    (1)
    a. cookie(客户端,不属于内置对象):Cookie是由服务端生成的,在发送给客户端保存。相当于本地缓存的作用。
    作用:提高访问服务端的效率,但是安全性较差。
    Cookie: name=value 。由javax.servlet.http.Cookie类生成。Cookie对象有构造方法public Cookie (String key,String value);String getName() 获取name ; String getValue() 获取value ; void setMaxAge(int expiry),最大有效期(秒)。
    b. 服务端准备Cookie:
    response.addCookie(Cookie,cookie)
    页面跳转(转发,重定向)
    c. 客户端获取cookie:
    request.getCookies();
    d. 服务器增加对象response,客户端获取对象request对象,不能直接获取某一个单独的对象,只能一次将全部的cookie拿到
    (2)
    session:会话
    a. session机制:客户端第一次访问服务端时,服务端会产生一个session对象(用于保存该客户的信息);并且每个session对象会有唯一的sessionID(用于区分其他session);服务端会产生一个cookie,并且该cookie的name=JSESSIONID,value=服务端sessionID的值。 服务端在响应客户端的同时将该cookie发送给客户端,至此,客户端就有了一个cookie(JSESSIONID),因此,客户端cookie就可以和服务端的session一一对应。(JSESSIONID=sessionID)
    b. session存储在服务端;session是在同一个客户请求时共享;实现机制,在第一次客户请求时产生一个sessionID并复制给cookie的JSESSIONID然后发给客户端。
    c. session方法:
    (1)getID() :获取sessionID
    (2)boolean isNew() :判断用户是否是第一次访问
    (3)void invalidate() :使session失效(退出登录、注销)
    (4)void setMaxInactiveInterval(秒) :设置最大有效非活动时间。
    (5)int getMaxInactiveInterval(秒) :获取最大有效非活动时间
    (6)void setAttribute() 和 Object getAttribute() 获取属性值
    在这里插入图片描述
    在这里插入图片描述

  6. application :全局对象
    a. String getContextPath() 虚拟路径
    b. String getRealPath() 绝对路径(获取虚拟路径相对的绝对路径)

  7. config :配置对象(服务器配置信息)

  8. page :当前JSP页面对象(相当于java中的this)

  9. exception :异常对象

四种范围对象(小->大)

a. pageContext 当前页面有效(页面跳转无效)
b. request 同一次请求有效
c. session 同一次会话有效
d. application 全局有效(整个项目有效)
以上4个对象共有的方法:
(1)Object getAttribute(String name) : 根据属性名,设置属性值
(2)void setAttribute(String name,Object obj) : 设置属性值(新增,修改)// 如果对象name之前不存在,则新建一个name对象;若存在,则将name值改为obj。
(3)void removeAttribute(String name) : 根据属性名,删除对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值