原始的界面由servlet中利用response.write()输出,但是特殊繁芜

涌现了jsp=html +java+css+js+jsp的语法

html只能展示静态的数据,结合java和jsp的语法实现了动态的展示数据

jsp只能输入数字加小数点求职温习系列13 jsp Python

jsp的语法

<%@page import=\"大众java.util.Date\公众%><%@page language=\公众java\"大众 pageEncoding=\公众UTF-8\公众%>

实行流程

jsp文件>>翻译为.java>>编辑为,class>>装载起来

翻译的文件:在work下, \work\Catalina\localhost\ROOT\org\apache\jsp

干系代码在_jspService()方法中();以是在方法中不能定义再方法

<% %> 包含的是java代码<%! %> 全局的<%= %> 输出语句<!-- 注释内容--> html的注释<%-- 该部分注释在网页中不会被显示--%> jsp的表明 在浏览器中不会显示

jsp常见指令

<%@ page ...%> 引入依赖比如脚本文件 error页面 容器供应当前页面的利用解释。
一个JSP页面可以包含多个page指令 import=\"大众java.util.\公众; <%@ include ...%> 包含其他文件<%@ taglib ...%> 引入标签库头部命令<%@ page language=\"大众java\"大众 contentType=\"大众text/html; charset=UTF-8\"大众 pageEncoding=\"大众UTF-8\"大众%>

jsp九大工具

include的差异

hello.jsp文件包含以下代码<%@include file=\"大众footer.jsp\公众 %>footer.jsp的内容会被插入到 hello.jsp 转译 成的hello_jsp.java中,末了只会天生一个hello_jsp.java文件<jsp:include page=\公众footer.jsp\"大众 />footer.jsp的内容不会被插入到 hello.jsp 转译 成的hello_jsp.java中,还会有一个footer_jsp.java独立存在。
hello_jsp.java 会在做事端访问footer_jsp.java,然后把返回的结果,嵌入到相应中。

JSTL

导入

<%@ taglib uri=\公众http://java.sun.com/jsp/jstl/core\"大众 prefix=\"大众c\公众%>

常见的jstl语句

<C:if test=\"大众\公众></c:if><c:choose> <c:when test=\"大众\"大众>//todo</c:when><c:otherwise>//todo</c:otherwise></c:choose><c:forEach items=\"大众${list}\"大众 var=\"大众listItem\"大众 varStatus=\"大众1\"大众 > <tr> <td><c:out value=\"大众${listItem.col1}\"大众 /></td> <td><c:out value=\"大众${listItem.col2}\"大众 /></td> </tr></c:forEach>fmt 格式化<%@ taglib uri=\"大众http://java.sun.com/jsp/jstl/fmt\"大众 prefix='fmt' %> 日期<% Date now = new Date(); pageContext.setAttribute(\"大众now\"大众,now);%> 完整日期: <fmt:formatDate value=\公众${now}\公众 pattern=\"大众G yyyy年MM月dd日 E\公众/><br>完全韶光: <fmt:formatDate value=\"大众${now}\"大众 pattern=\"大众a HH:mm:ss.S z\公众/><br>常见格式: <fmt:formatDate value=\"大众${now}\"大众 pattern=\"大众yyyy-MM-dd HH:mm:ss\"大众/>数字格式化<fmt:formatNumber 表示格式化数字minFractionDigits 小数点至少要有的位数maxFractionDigits 小数点最多能有的位数<fmt:formatNumber type=\"大众number\"大众 value=\"大众${money}\"大众 minFractionDigits=\公众2\公众/>

EL表达式

引入

<%@page 标签里加上isELIgnored=\公众false\"大众<%@ page language=\"大众java\"大众 contentType=\"大众text/html; charset=UTF-8\"大众 pageEncoding=\公众UTF-8\"大众 isELIgnored=\公众false\公众%>取值顺序pageContext>request>session>application利用${key} 取值支持表达式大小于 equals等,三元运算符

转发与转向的差异

转发(forward

转发通过forword带走request的response,以是能带走工具,可以共享数据,地址栏不会改变,经历了一次要求,在做事端完成的处理,

WEB-INF下的页面不能通过地址栏访问,须要经由转发才能访问

转向(redirect)

转向,要求到这里之后,见告浏览器须要进行二次要求,以是浏览器地址改变,数据也不能共享了,两次要求的效率也比与转发的一次要求慢低一些.

浏览器地址改变了,就可以跳转到当前web意外的页面