JSP元素介绍

1.HTML注释

<!--这个HTML注释-->

2.JSP注释

<% --这是JSP注释-- %>

3.声明

用于在页面中定义变量或方法

<% ! String userName = "user"%>

4.表达式

<% = 表达式%>

获取登录用户的姓名

<h3><% = ((User)session.getAttritute("user")).getUserName()%></h3>

5.脚本元素

<% java代码段%>

<% 
String name = "Garfield"
for(int i = 0; i < 5; i++){
    System.out.println("Hello!"+name+"")
}
%>

6.指令

(1).include指令

用于一个JSP页面包含另一个JSP页面,主页面和被包含的页面二者共享,因此变量定义不能重复

<% @ include file="被包含的JSP页面路径"%>

(2).page指令
常用于指定页面闻不到编码方式、引用类包等

<% @page language="java"
import="java.util.*"
pageEncoding="ISO-8869-1"
%>

page指令的作用范围是整个JSP文件和改JSP文件用include指令包含进来的任何JSP文件——“平移单元”

7动作(action)

(1).jsp:forward元素

forward元素用来重定向当前的用户请求到一JSP页面、HTML页面等,页面跳转。对客户端是透明的,即客户端请求并没有发生改变

<jsp:forward page = "重定向的页面路径">
</jsp:forward>

也可带参数,可用于页面之间传递参数

<jsp:forward page="">
    <jsp:parm name="" value=""/>
    .....
    可包含多个参数
    .....
</jsp:forward>

(2).jsp:useBean元素

该元素主要用来让用户在JSP页面中创建一个Bean实例,并指定其名字和作用范围

<jsp:useBean>
id="Bean变量的名字"
scope="page|request|session|application" 
{
    class="Bean路径"
}

page|request|session|application 用于指定Bean作用范围

page表示应用于当前页,request表明应用于当前用户,session表明应用于当前HttpSession生命周期内的所以页面,application表明此BeanServletContext的所有页面

8.JSP中的隐藏对象

(1).session对象

当客户端第一次访问服务器上的页面时服务器为客户端创建一个session对象,并分配唯一一个ID号。

session可用于传递参数:
读取:

Object obj = session.getAttribute("属性名");

写入:

Object obj = new Object();
session.setAttrubute("属性名",obj);

(2).application对象

(3).request对象

request对象所属的类实现了javax.servlet.http.HttpServletRequest 接口,(位于servlet-api.jar)
主要方法:

  • void setAttribute(String name,Object value): 将指定属性的值设置为value
  • String getCharacterEncoding(): 返回请求中所用的编码的名称。
  • String getLocalAddr() : 返回请求服务器的地址。
  • String getMethod(): 返回Http请求的类型。
  • Object getAttribute(String name): 获取指定的属性值
  • String getParameter(String name):获取参数名为name的参数值。
  • Enumeration getParameterNames(): 获取所有请求的名字集合
  • String[] getParameterValues(String name): 获取name请求参数的参数值
  • void setCharacterEncoding(String encoding); 设定编码格式

response对象

与request对象对应
实现了javax.servlet.ServletResponse接口 (位于servlet-api.jar)

主要方法

void flushBuffer() throws IOEception 强制将缓冲区中所有内容写给客户端。
PrintWiter getWriter(): 用于在response写入文本数据。
void setCharacteEncding(String encding) 为response设置编码,必须在getWriter之前调用。

原文地址:https://www.cnblogs.com/puxuebing/p/9112649.html