一、JSP
1.JSP简介
为什么要学习JSP: 答:默认的HTML技术是无法将后台的数据直接渲染在前台的 例如在后台的request容器,session容器存了东西,要想在前台拿出来渲染,单独利用HTML无法实现的 所以需要借助额外的知识点才可以实现: 例如JSP技术,AJAX技术等
2.JSP的组成
组成:HTML + Java + JSP本身 不仅可以写html代码还可以写java代码还可以写JSP代码 但是一般来说 不会再JSP里面写Java代码,最多写点JSP代码 JSP的本质:本质就是一个Servlet .运行流程:现将JSP解析成servlet再运行。
3.JSP现状
25年前的技术,早已过时,无人问津。所以本书的内容仅做了解。 技术领域:存在即合理。 即使已经过时了。但是过时的原因仅仅是:后人借鉴了它,然后超过了它 原因:效率极低。现在的项目都是讲究一个前后端分离。 前台只操心前台,后台只操心后台
4.两种注释的区别
JSP的注释不会被解析到浏览器中,而HTML会 <!--我是HTML注释 --> <%--我是JSP注释 --%>
二、EL表达式
知识点1:仅仅存在于JSP中,脱离了JSP无法运行。 知识点2:可以直接将后台数据渲染在页面上。 知识点3:语法: 美元符号{ xxx }
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 例如:可以实现基本的运算: ${1+1+1} ${1*5*2} ${"111" + "222"} <br> <hr> 例如:可以轻松地获取后台容器的数据: <a href="AServlet">先存几个</a> <br> ${info1} ~~~ ${info2} ~~~ ${info3} <br> <br>如果存在 不同的容器 但是key相同 。那么可以在key的前面加上前缀即可:例如 <br> ${requestScope.info1} ~~~ ${sessionScope.info1} ~~~ ${applicationScope.info1} <hr> 例如:可以轻松的获取url地址上的相关参数 <a href="update.jsp?id=123&name=张三&age=18">修改页面</a> </body> </html> |
package com.yyzy.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/AServlet") public class AServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setAttribute("info1","你好111"); req.getSession().setAttribute("info1","你好222"); ServletContext context = req.getServletContext(); context.setAttribute("info1","你好333"); req.getRequestDispatcher("2.jsp").forward(req,resp); } } |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <p>下面的写法是获取容器里面的id,但是现在我们要获取url地址里面相关参数</p> ~${id}~ <p>如果想要获取url地址上的参数,那么只需要加上前缀 param</p> ${param.id} ~~${param.name} ~~${param.age} ~~ </body> </html> |