javaweb--jsp原理解析
1.jsp:
java Server pages:java服务端页面,也和servlet一样,用于动态web技术
最大特点:
写jsp就像在写html
区别:
html只是给客户提供静态的数据
jsp页面可以嵌套Java代码,为用户提供动态数据
2.jsp原理:
浏览器向服务器发送请求,不管访问什么资源,其实就是在访问servlet
jsp最终也会转换成一个java类
jsp本质上就是一个servlet
3.jsp内置对象

4.图解 
5.语法、内置对象、作用域
<body> <%-- jsp表达式 用来将程序输出到客户端 <%=变量或者表达式%> --%> <%=new Date()%> <br> <hr> <%--jsp脚本片段--%> <% for (int i = 0; i <5 ; i++) { out.println("第"+i+"次"+"你好!"); } %> <%--跳转到404错误页面--%> <%--<%@page errorPage="WEB-INF/error/404.jsp" %>--%> <%--<% int a=2;--%> <%--System.out.println(2/0);--%> <%--%>--%> <%--存入键值对--%> <% pageContext.setAttribute("name1", "a");//保存的数据只在一个页面中有效 request.setAttribute("name2", "b");//保存的数据只在一次请求中有效,请求转发会携带这个数据 session.setAttribute("name3", "c");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器结束 application.setAttribute("name4", "d");//打开的数据只在服务器中有效,从打开服务器到关闭服务器结束 %> <%--取值--%> <% //pageContext.getAttribute("name1"); String name1=(String)pageContext.findAttribute("name1"); String name2=(String)pageContext.findAttribute("name2"); String name3=(String)pageContext.findAttribute("name3"); String name4=(String)pageContext.findAttribute("name4"); %> <%--EL表达式输出 ${}--%> <h1>输出结果:</h1> <h1>${name1}</h1> <h1>${name2}</h1> <h1>${name3}</h1> <h1>${name4}</h1> </body>
6.JSTL核心标签
引入依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
在jsp头部引入标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
核心标签:

EL表达式:
获取数据
执行运算
获取web开发的常用对象
<form action="jstl2.jsp" method="get"> <%-- EL表达式获取表单的数据方式 ${param.参数名} --%> 姓名:<input type="text" name="username" value="${param.username}"><br> <input type="submit" value="提交"> </form> <%--判断提交的用户名是否是admin,是则登陆成功--%> <c:if test="${param.username=='admin'}" var="isAdmin"> <c:out value="管理员欢迎你"/> </c:if> <%--返回值是boolean类型--%> <c:out value="${isAdmin}"/> </body>

浙公网安备 33010602011771号