javaWeb-jsp知识点详解
来源:互联网 发布:ubuntu mod dav svn 编辑:程序博客网 时间:2024/05/16 12:10
《一:jsp原理》
1:引擎: servlet引擎,支持servlet的执行环境;JSP引擎:支持jsp文件翻译成servlet和编译成.class文件的环境。
2: JSP翻译成servlet,再被编译成.class文件,存放于:Tocat根路径/work/Catalina/localhost/_log/apache/jsp,过程:
hello.jsp->hello_jsp.java->hello_jsp.class
3:继承关系:
public abstract class HttpJspBase extends HttpServlet implements HttpJspPage{}public final class hello_jsp extends org.apache.jsper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent{}
故jsp本质就是servlet.
1.4:当JSP内容改变时,会重新翻译和编译,生成的三个方法:
_jspInit对应init, _jspService对应service, _jspDestory对应Destory;
1.5:jsp如何映射是有jsp引擎处理的,如:
http://loalhost/hello/hello.jsp中的hello.jsp符合通配符映射,在Tomcat根/config/web.xml中有:
<servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspx</url-pattern> </servlet-mapping>
故jsp名字不可取为jsp,会造成冲突
1.6: 定义全局的错误页面:
<error-page> <error-code>404</error-code> <location>/404.jsp</location></error-page><error-page> <error-code>500</error-code> <location>/500.jsp</location></error-page>
《二:jsp语法》
1.静态的网页代码:HTML
2.动态的java代码,jsp的组成部分如下:
1.JSP的标准指令2.JSP程序代码元素3.JSP标准动作4.标签库
3.jsp如何嵌入java代码:
3.1:jsp的java脚本表达式 作用:向jsp输出java代码内容 语法:<%=有返回的表达式%>,末尾向out.print()括号中的内容,末尾当然不加;<%=new java.util.Date().toLocalString()%>翻译成:out.print(“new java.util.Date().toLocalString()”);3.2:jsp中的java脚本片段: 作用:在JSP中编写java代码,实现逻辑控制,相当于在service中写代码: 语法:<%java代码;%>,末尾有分号;<%String name=”will”%> :翻译成servlet,_jspService方法中的代码:String name=”will”3.3:jsp中jsp成员变量的声明; 作用:在JSP(Servlet)中声明servlet成员变量/方法 语法:<%!声明语句%><%!private int age=17;%>翻译成:private int age = 17;
4.jsp注释:
html注释: <!--注释内容-->会被翻译到servlet中;jsp注释: <!--注释内容-->不会被翻译到servlet中
5.jsp的标准指令:
5.1:特点:不向客户端产生输出;指令在整个JSP范围内有效;为翻译阶段提供了全局信息。 5.2:语法:<%@标准指令 属性=属性值 %> 5.3: 三大指令: 1.page指令: <%@page language=”java”(毫无争议) import=”java.util.Date”(各种包用,分隔) contentType=”text/html;charset=”utf-8”(以此为准) session=”true”(默认为true) errorPage=”相对路径“(由本页面跳转到指定的页面,不管全局错误页面了)%> 2.include指令(静态包含):<%@include file=”top.jsp” %>在一个jsp中包含另一个jsp中的内容。 特点:只翻译成一个servlet类,相当于把top.jsp源代码整体拷贝,故此时top.jsp中只需要保留page指令和内容即可。 3.taglib,引入标签库
6.jsp的九大内置对象(翻译在service中):
名称 对象类型 备注request HttpServletRequest response HttpServletResponsepageContext PageContextsession HttpSession 若要使用该对象,必须保证page指令中session属性不能为false,默认为trueapplication ServletContext config ServletConfigout JspWriterpage Object(this)exception Throwable 必须配置page指令isErrorPage=”true”
7.jsp中的四大作用域对象:
pageContext---PageContext 只在当前页面有效request---HttpServletRequest 在同一次请求中有效session---HttpSession 在同一次会话中application---ServletContext 在服务器开启时的任何时期共同持有的方法:void setAttrubute(String name, Object val)Object getAttribute(String name)void removeAttribute(String name)
8.JSP中常见的动作元素(WEB-INF中的资源通过请求转发获取):
1.请求转发(也遵循相对路径+不跨域原则)<jsp:forward page=”/action/target.jsp”> <jsp:param value=”17” name=”age” /></jsp:forward>2.请求包含(动态包含,在main.jsp中包含top.jsp):<jsp:include page=”top.jsp” />特点:会分别翻译出两份class字节码文件。
9.常见笔试题:
1.jsp中的九大内置对象?2.JSP中的四大作用域?3.静态包含和动态包含的区别: 3.1:在翻译阶段就在一个java文件中; 3.2:后者包含文件和被包含文件都会翻译成java文件,编译成class文件,运行时才会动态地包含在一起。
阅读全文
0 0
- javaWeb-jsp知识点详解
- jsp基础知识点详解
- jsp基础知识点详解
- javaWeb-MyBatis框架常用知识点详解
- JavaWeb - 知识点
- javaWeb-04-jsp语法-include指令详解
- JavaWeb学习篇之----Jsp详解
- 深入分析JavaWeb Item13 -- jsp指令详解
- 深入分析JavaWeb 13 -- jsp指令详解
- JavaWeb学习篇之----Jsp详解
- JavaWeb学习----JSP内置对象详解
- [JAVAWEB]5.详解JSP的运行原理
- JavaWeb-JSP
- JavaWeb-JSP
- JAVAWEB-jsp
- JavaWeb:JSP
- JavaWeb: jsp
- JavaWeb jsp
- 自定义View的多个情况
- 【缓存】缓存中常见的4种问题分析以及解决方案
- 用Springdata Jpa给指定字段排序
- Karaf教程第8部分-分布式OSGi
- 【学习记录】maven安装与环境变量配置以及maven在eclipse中的安装
- javaWeb-jsp知识点详解
- 【深度学习读书笔记】第一章 引言
- 39二叉树的深度python
- 悟空qq通讯录加好友
- (转)王小川湖畔大学演讲:人工智能最具商业价值的是什么?
- struts2 配置文件
- ViewPager 剖析及使用
- 利用GpuImage打造自己的修图软件
- AESutil加密