JSP
2021-07-27 02:55
标签:el表达式 username 会话 引入 servlet 服务器 lang and serlvet 1. 什么是JSP JSP(Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。 最大的特点:写JSP就像在写HTML 区别: HTML只给用户提供静态的数据 JSP页面中可以嵌入JAVA代码,为用户提供动态数据; 2. JSP原理 IDEA中使用Tomcat的会在IDEA的tomcat中生产一个work目录 index_jsp继承了HttpJspBase,查看HttpJspBase源码可以得到HttpJspBase继承自HttpServlet 浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet! JSP最终也会被转换成为一个Java类! 部分方法 //初始化 public void _jspInit() //销毁 public void _jspDestroy() //服务 public void _jspService(HttpServletRequest request, HttpServletResponse response) 内置一些对象 final javax.servlet.jsp.PageContext pageContext; //页面上下文 javax.servlet.http.HttpSession session = null; //session final javax.servlet.ServletContext application; //applicationContext final javax.servlet.ServletConfig config; //config javax.servlet.jsp.JspWriter out = null; //out final java.lang.Object page = this; //page:当前 HttpServletRequest request //请求 HttpServletResponse response //响应 _jspService()中的执行语句 response.setContentType("text/html"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\n"); out.write("\n"); out.write("Hello World!\n"); out.write("\n"); out.write("\n"); 所有的html代码都以out.write(xxx)的形式输出 用户拿jsp页面的流程如下图所示: 3. JSP基础语法 JSP表达式 jsp脚本片段 Hello,World JSP声明 JSP声明:会被编译到JSP生成Java的类中!其他的,就会被生成到_jspService方法中 JSP的注释,不会在客户端显示,HTML就会! 4. JSP指令 网页主体 网页主体 5. 9大内置对象(重点:作用域) PageContext 存东西 Request 存东西 Response Session 存东西 Application 【SerlvetContext】 存东西 config 【SerlvetConfig】 out page ,不用了解 exception 作用域 pageContext.setAttribute("name1","秦疆1号"); //保存的数据只在一个页面中有效 request.setAttribute("name2","秦疆2号"); //保存的数据只在一次请求中有效,请求转发会携带这个数据 session.setAttribute("name3","秦疆3号"); //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器 application.setAttribute("name4","秦疆4号"); //保存的数据只在服务器中有效,从打开服务器到关闭服务器 request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的! session:客户端向服务器发送请求,产生的数据,用户用完一会还有用,比如:购物车; application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如:聊天数据; 6. JSP标签、JSTL标签、EL表达式 6.1 JSTL表达式的依赖 javax.servlet.jsp.jstl jstl-api 1.2 taglibs standard 1.1.2 EL表达式: ${ } 6.2 JSP标签 6.3 JSTL表达式 JSTL标签库的使用就是为了弥补HTML标签的不足;它自定义许多标签,可以供我们使用,标签的功能和Java代码一样! 格式化标签 SQL标签 XML 标签 核心标签 (掌握部分) JSTL标签库使用步骤 引入对应的 taglib 使用其中的方法 注意:在Tomcat 也需要引入 jstl的包,否则会报错:JSTL解析错误 c:if Title if测试 c:choose c:when 你的成绩为优秀 你的成绩为一般 你的成绩为良好 你的成绩为不及格 c:forEach(重点:数据库常用) JSP标签:el表达式 username 会话 引入 servlet 服务器 lang and serlvet 原文地址:https://www.cnblogs.com/qi-chao/p/14952579.html