JSP语法
来源:互联网 发布:java中scanner用法案例 编辑:程序博客网 时间:2024/06/06 17:13
1,JSP注释:
<%–注释内容–%>
而HTML的注释格式是:
2,JSP声明的语法格式为:
<%! 声明部分 %>
3,输出JSP表达式
<%=表达式%>
4,JSP的3个编译指令
page:针对当前页面的指令
include:用于指定包括另一个页面
taglib:用于定义和访问自定义标签
include指令<%@include file="scriptlet.jsp" %>这是个静态的include语句,它会把目标页面的其他编译指令也包含进来,动态include则不会。动态include: <jsp:include>
5,JSP的7个动作指令
jsp:forward:执行页面转向,将请求的处理转发到下一个页面
jsp:param:用于传递参数,必须与其他支持参数的标签一起使用
jsp:include:用于动态引入一个JSP页面
jsp:plugin:用于下载JavaBean或Applet到客户端执行
jsp:userBean:创建一个JavaBean实例
jsp:setProperty:设置JavaBean的属性值
jsp:getProperty:输出JavaBean的属性值
<jsp:forward page="forward-result.jsp"> <jsp:param name="age" value="29"></jsp:forward>------------------------------------动态include,区别是动态include不会导入被include页面的编译指令,<jsp:include page="forward-result.jsp"> <jsp:param name="age" value="29"></jsp:include>
forward是拿目标页面代替原有页面,include则拿目标页面插入原有页面
<jsp:userBean id="name" class="className" scope="page|request|session|application"/>scope为作用域,page:该JavaBean实例仅在该页面有效request:该JavaBean实例仅在本次请求有效session:该JavaBean实例在本次session内有效application:该JavaBean实例在本应用内一直有效<jsp:useBean id="p1" class="lee.person" scope="page"/><jsp:setProperty name="p1" property="name" value="wawa"/><jsp:setProperty name="p1" property="age" value="23" /><jsp:getProperty name="p1" property="name"/>
6,param指令
<jsp:param name="Name" value="value">
7,JSP的9个内置对象
application : ServletContext的实例,可用于JSP页面或者在Servlet之间交换信息。
常用方法: getAttribute(String name)、setAttribute(String name)、getInitParameter(String name)等
config: ServletConfig的实例,该实例代表该JSP的配置信息
常用方法:getInitParameter(String name)、getInitParameternames()等
exception:java.lang.Throwable的实例,只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,该对象才可以使用。
常用方法:getMessage()和printStackTrace()等
out: 用于输出内容
page: 代表该页面本身,即Servlet中的this
pageContext: PageContext的实例,代表该JSP页面的上下文,使用它可以访问页面中的共享数据。
常用方法: getServletContext()和getServletConfig()等
request: HttpServletRequest的实例,客户端的请求参数都被封装在request里,常用获取客户端请求参数,
常用方法:getParameter(String name)、getParameterValues(String name)、setAttribute(String name,Object value)、getAttribute(String name)和setCharacterEncoding(String env)等
response: HttpServletResponse的实例,代表服务器对客户端的响应,response对象常用于重定向。常用方法: getOutputStream()、sendRedirect(java.lang.String.location);等
session: HttpSession的实例,代表一次会话。
常用方法:getAttribute(String name)、setAttribute(String name,Object value)
application: 对于整个Web有效,application中的数据可以被该Web应用下其他JSP、Servlet访问。session : 仅对一次会话有效。 session中的数据可以被本次会话的其他JSP、Servlet访问。request: 仅对本次请求有效。page: 仅对当前页面有效。application的作用:1,多个JSP、Servlet共享数据<% application.setAttribute("counter",String.valueOf(++i));%><%=application.getAttribute("counter")%>ServletContext sc=getServletConfig().getServletContext();sc.getAttribute("counter");每一个Web应用只有一个ServletContext实例,在JSP页面中可通过application内置对象访问该实例。2,获取web应用配置参数
request对象
1,获取请求头/请求参数
request是HttpServletRequest接口的实例。
方法:
String getParameter(String name)获取name请求参数的值。
Map getParameterMap() 获取所有请求参数名和参数值所组成的Map对象
String[] getParameterValues(String name) name请求参数的值,当该请求参数有多个值时,返回多个值所组成的数组。
String getHeader(String name)指定请求头的值
2,操作request范围的属性
setAttribute(String name, Object value)将value设置成request范围的属性
Object getAttribute(String name)获取request范围的属性
3,执行forward或include
HttpServletRequest类提供一个getRequestDispatcher(String path)方法,path是希望forward或include的目标路径,path字符串必须以斜线开头
request.getRequestDispatcher("/a.jsp").forward(request, response);
reponse
重定向
redirect和forward不同的是,重定向会丢失所有的请求参数和request范围的属性,这是因为redirect将产生第二次请求,与前一次请求不在同一个request范围内。地址栏URl发送改变。
reponse.sendRedirect(“redirect-result.jsp”);
增加Cookie
session对象
session对象是HttpSession的实例
常用方法:setAttribute(String name, Object value)设置session范围内的name属性值为value;
getAttribute(String name)返回session范围内name属性的值。
JSP/Servlet的生命周期
1,创建Servlet实例
2,web容器调用Servlet的init方法,对Servlet进行初始化。
3,调用service()方法处理来响应用户请求。
4,web销毁service时,调用Servlet的destroy方法。
- jsp语法
- JSP语法
- JSP语法
- JSP语法
- jsp语法
- Jsp语法
- JSP语法
- jsp语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- jsp语法
- JSP语法
- JSP语法
- jsp语法
- Linux-27-linux基础重要命令04(L005-09)
- UVA 531Compromise
- vim 使用
- 查看文件夹
- 激光雕刻机改良日记(一)
- JSP语法
- C语言内存分配方式
- 会场安排问题
- POJ 1061 青蛙的约会
- 【HUSTOJ】1053: 字符图形9-数字正三角
- [读书笔记]Clean Code (1-8章)
- 去除android控件滑动的时候出现的阴影
- react爬坑记16---reflux
- Quartz使用-入门使用(java定时任务实现)