EL表达式.jsp指令等
1.JSP标准指令:
<%@ 标准指令(属性 )%>
<%@ page %>
<%@ include %>
<%@ taglib %>
2.JSP程序代码元素:
<%! 变量或方法声明 %>
<% 程序代码 %>
<%= 表达式 %>
<%-- jsp被服务器翻译成servlet时,变量a被翻译成成员变量 --%>
<%! int a = 1; %>
<%-- jsp被服务器翻译成servlet时,变量b被翻译成局部变量 --%>
<% int b = 2; %>
<body>
<%-- java代码 --%>
<% for(int i=0;i<3;i++){%>
<% out.println(i*8); %>
<%= (i*8) %>
<%-- html代码 --%>
<br>
<% }%>
</body>
<!--这是HTML注解-->
<%--这是JSP注解--%>
<%//这是Java注解%>
<%/*这也是Java注解*/%>
3.JSP标准动作标签:
<jsp:forward page="file-url"|"<%=expression%>" />
<jsp:param name=" paramName" value="paramValue" />
</jsp:forward>
//先包含后处理
<%@ include file=“欲引入的文件 %>
//先处理后包含
<jsp:include page=“uri”>
<jsp:param name=“参数名” value=“值”/>
</jsp:include>
<jsp:param>必须同<jsp:include>和<jsp:forward>一起使用。
4.get方式提交和post方式提交的区别?
get方式提交的参数会被封装在请求头中,会出现在地址栏上,适合提交少量数据
post方式提交的参数会被封装在请求体中,不会出现在地址栏上,适合提交大量数据(例如上传文件必须使用post方式提交)
5.转发和重定向有什么区别?
request.getRequestDispatcher("地址").forward(request,response);或者<jsp:forward page=""/>
转发:一次请求,地址栏不变,服务器端跳转,执行到跳转语句后立刻跳转-之后代码不执行(这种情况仅限于使用标签转发)
response.sendRedirect("地址");
重定向:二次请求,地址栏改变,客户端跳转,作用是告诉浏览器按照所给路径重新给服务器发请求,所有代码执行完毕之后再跳转
(HttpServletRequest request, HttpServletResponse response)
6.JSP有以下九种内置对象,包括:
page,页面对象 java.lang.Object
request,请求对象 javax.servlet.http.HttpServletRequest
session,会话对象 javax.servlet.http.HttpSession
application,应用程序对象 javax.servlet.ServletContext
out,输出对象 javax.servlet.jsp.JspWriter
response,响应对象 javax.servlet.http.HttpServletResponse
pageContext,页面上下文对象 javax.servlet.jsp.PageContext
config,配置对象 javax.servlet.ServletConfig
exception,异常对象 java.lang.Throwable
存取范围从小到大依次是:page、request、session、application
page:一个页面共享数据
request:一次请求共享数据
session:一次会话共享数据
application:所有用户共享数据
application是所有用户共享的,任何用户都可以访问,而session对象则是每个用户私有的
1>四个域对象的生命周期
1) pageContext jsp执行时创建pageContext jsp页面结束时pageContext销毁
2) request 客户请求服务器时创建,请求结束request销毁
3) session 客户机请求服务器时,第一次getSession时,服务器创建session,session过xx多长时间没用了(或调用了session.invalidate方法),服务器销毁session
4) servletContext(application) web应用启动时就创建,web应用停止就销毁.一个web应用只有一个application对象.
2>什么情况下用什么域的问题
1)什么情况下用request域?如果在开发程序时,数据看完就没用了,那就应该把数据存在request域范围内。比如看新闻,新闻属于用户看完就没用的数据,这时servlet获得新闻数据,就应该存在request里面交给jsp显示。
2)什么情况下用session域?如果在开发程序时,数据看完了用户等一会儿还要用,那就应该把数据存在session域范围内.例如购物,购买的商品是用户的数据,这个数据产生之后,用户等一会儿结帐还要用,那么程序就应该把数据存在用户的session中。
3)什么情况下用application域?如果在开发程序,数据产生了,这个数据不仅等一会儿自己要用,还要给别人用,那就应该存在application域,例如web聊天室,用户的聊天数据,这个数据不仅用户等一会儿自己要看,还要给别人看。
7.Servlet监听器
8.学习使用JSTL(Jsp Standard Tag Library,jsp标准标签库)和EL表达式
1)核心标签库
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<table>
<c:forEach items="${requestScope.aaa}" var="t" begin="0" end="2" step="1">
<tr><td>${t.titleid}</td><td>${t.titlename}</td></tr>
</c:forEach>
</table>
2)EL表达式
${requestScope.aaa} 相当于<%=request.getAttribute("aaa") %>
${sessionScope.aaa} 相当于<%=session.getAttribute("aaa") %>
${applicationScope.aaa} 相当于<%=application.getAttribute("aaa") %>
${param.aaa} 相当于<%=request.getParameter("aaa") %>
${paramValues.aaa} 相当于<%=request.getParameterValues("aaa") %>
${t.titleid} 相当于<%=t.getTitleid() %>
EL表达式.jsp指令等的更多相关文章
- EL表达式jsp页面double小数点后保留两位
EL表达式jsp页面double小数点后保留两位,四舍五入 <fmt:formatNumber type="number" value="${member.logi ...
- 11、Jsp加强/EL表达式/jsp标签
1 Jsp基础回顾 Jsp基础 1)Jsp的执行过程 tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法 to ...
- JSTL+EL表达式+JSP自定义框架案例
不会框架不要紧,我带你自定义框架 前言:这标题说的有点大了,当一回标题党,之前在学JSP的时候提到了JSTL和EL表达式,由于一直钟情于Servlet,迟迟没有更新别的,这回算是跳出来了.这回放个大招 ...
- el表达式 jsp页面取list的长度
方法1 ${cimlistForJsp.size()} 方法2,引入 <%@ taglib prefix="fn" uri="http://java.sun.com ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
- Java Web程序设计笔记 • 【第9章 EL表达式】
全部章节 >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...
- JavaWeb学习之什么JSP、JSP是如何工作的、JSP语言(各种指令和九大内置对象)、EL表达式简单使用(5)
1.什么JSP * servlet:java编写的处理动态web的技术 * 特点:Java代码中嵌套html代码 * jsp * 特点:HTMl代码中嵌套java代码 * %tomcat%/conf/ ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
- Javaweb学习笔记——(十二)——————JSP指令:page指令、include指令、taglib指令,JavaBean,内省,EL表达式
JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的. 但基本上每个JSP都是使用page指令============ ...
随机推荐
- Date与String互相转换及日期的大小比较
private static final String PATTERN = "yyyy-MM-dd HH:mm:ss"; /** * String转Date * * @param ...
- 将数据转为tfrecord格式
假设emo文件夹下,有1,2,3,4等文件夹,每个文件夹代表一个类别 import tensorflow as tf from PIL import Image from glob import gl ...
- Intelli IDEA快捷键(配合IdeaVim)(转)
Intelli IDEA快捷键(配合IdeaVim)(转) Intelli IDEA开发环境,个人总结的一些常用的快捷键. 想要使用vim方式编辑代码,可以使用Intelli IDEA的IdeaVim ...
- Linux openssh8.0p1升级步骤(shell版本)
运维自动化时代,手动升级太徒劳了,为了提高效率及准确率,自动化安装是必备的. 下面是通过shell写的脚本.也可以将其应用到ansible上. 准备好安装文件: openssh-8.0p1.tar.g ...
- PHP程序员要看的书单
想提升自己,还得多看书!多看书!多看书! 下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完.共勉吧! Github地址:https://github.com/52fhy/ph ...
- HTML与CSS中的定位个人分享
定位 static - 默认值 (几乎不用,了解就可以) absolute - 绝对定位,不为元素预留空间,脱离文档流: 如果当前元素的父级元素是<body>元素的话 -> 是相对于 ...
- js学习之BOM和DOM
1. 浏览器的原理 1.1 浏览器的多线程 (1) 解析js引擎线程 (2) UI渲染线程 (3) 事件发起线程 (4) 发起请求的线程 (5) 定时器的线程 1.2 同步异步 (1) 前 ...
- 28.密码学知识-hash函数-5——2019年12月19日
5. 单向散列函数 "单向散列函数 --- 获取消息的指纹" 在刑事侦查中,侦查员会用到指纹.通过将某个特定人物的指纹与犯罪现场遗留的指纹进行对比,就能够知道该人物与案件是否存在关 ...
- mysql:联合索引及优化
命名规则:表名_字段名1.需要加索引的字段,要在where条件中2.数据量少的字段不需要加索引3.如果where条件中是OR关系,加索引不起作用4.符合最左原则 尽量不要用or,如果可以用union代 ...
- ExtJS用Grid显示数据后如何自动选取第一条记录
用Grid显示数据后,如何让系统自动选取第一条记录呢?在显示Grid时由于其Store正在loading,没法在Grid选取第一条记录,因为还没有记录,所以应在其Store进行操作. 查看Ext.da ...