本文转自:http://blog.csdn.net/qy1387/article/details/8050239

JSP精华知识点总结

Servlet三个要素

  1. 1.必须继承自HttpServlet
  2. 2.必须实现doGet()或者doPost()
  3. 3.必须在web.xml中配置Servlet
  4. <servlet>
  5. <servlet-name></servlet-name>
  6. <servlet-class></servlet-class>
  7. </servlet>
  8. <servlet-mapping>
  9. <servlet-name></servlet-name>
  10. <url-pattern></url-pattern>
  11. </servelt-mapping>
  12. HttpServeltRrequest:请求对象
  13. getParameter():获得表单元素的值
  14. getAttribute():获得request范围中的属性值
  15. setAttribute():设置reqeust范围中的属性值
  16. setCharacterEncoding():设置字符编码
  17. HttpSerletResponse:相应对象
  18. sendRedirect():外部跳转
  19. getWriter():获得输出流对象
  20. setContentType("text/html; charset=utf-8"):设置相应内容格式和编码

四种会话跟踪方式

  1. 1.Session
  2. HttpSession session = request.getSession();
  3. session.setAttribute("name", "zhangsan");
  4. session.setAttribute("pwd", "aaa");
  5. String name = (String) session.getAttribute("name");
  6. 2.cookie:
  7. //创建Cookie
  8. Cookie cookie = new Cookie("name", "zhangsan");
  9. //设置Cookie的超时时间
  10. cookie.setMaxAge(24 * 60 * 60 *60);
  11. //把Cookie发送到客户端
  12. response.addCookie(cookie);
  13. //得到客户端发送的Cookie
  14. Cookie [] cookies = request.getCookies();
  15. for(int i=0; i<cookies.length; i++) {
  16. Cookie temp = cookies[i];
  17. String key = temp.getName();
  18. String value = temp.getValue();
  19. }
  20. 3.隐藏表单域
  21. <input type="hidden" name="name" value="zhangsan" />
  22. request.getParameter("name");
  23. 4.Url重写
  24. 问号传参
  25. LoginServlet?username=zhangsan&pwd=123
  26. String name = request.getParameter("username");
  27. String pwd =request.getPareameter("pwd");

内部跳转和外部跳转

  1. 内部跳转:
  2. LoginServlet
  3. request.getRequestDispatcher("index.jsp").forward(request, resposne);
  4. 外部跳转:
  5. response.sendRedirect("index.jsp");
  6. 内部跳转是一次请求和一次响应
  7. 外部跳转是两次请求和两次响应
  1. ServletContext:Servlet上下文对象
  2. 它是一个公共区域,可以被所有的客户端共享
  3. setAttribute():向公共区域里放入数据
  4. getAttribute():从公共区域里取数据
  5. 三个标准范围:request, session, ServletContext
  6. 共同点:都有setAttribute(), getAttribute()
  7. 区别:范围不同,request < session < servletContext
  8. 服务器上的五大对象
  9. request, response, servlet, session, servletContext

Jsp:Java Server Page

页面构成:7种元素

  1. 1.静态内容:html
  2. 2.指令:page, include, taglib:
  3. <%@ 指令名 属性1="属性值1" 属性2="属性值2" %>
  4. 3.表达式:<%=表达式 %>
  5. 4.Scriptlet<% Java代码 %>
  6. 5.声明:<%! %>:变量和方法
  7. 6.动作:<jsp:动作名 属性="属性值"></jsp:动作名>
  8. 7.注释:
  9. 客户端看不到的:<%-- --%>
  10. 客户端可以看到的:<!-- -->

Jsp的执行过程

  1. 1.转译:Jsp--->Servlet
  2. 2.编译:Servlet---->.class
  3. 3.执行:.class
  4. 第一次访问jsp的时候响应速度较慢,后面请求时响应速度快

脚本

  1. 表达式:<%= %>
  2. Scriptlet:<% %>
  3. 声明:<%! %>

指令

  1. page:language, import, errorPage, isErrorpage
  2. include:file
  3. taglib:uri:指定标签库描述符的路径 prefix:指定标签的前缀

隐式对象

  1. 分类:
  2. 1.输入和输出对象:request(HttpServletRequest),
  3. response(HttpServletResponse),
  4. out(JspWriter), servlet中的out是PrintWriter
  5. 2.作用域通信对象:pageContext, request,
  6. session(HttpSession),
  7. application(ServletContext)
  8. 3.Servlet对象:page(this), config
  9. 4.错误对象:exception

JavaBean

  1. 一个标准的JavaBean有三个条件
  2. 1.共有的类
  3. 2.具有不带参数的公共的构造方法
  4. 3.具有set()和get()方法
  5. 4.私有属性

Jsp中的标准动作

  1. 1.useBean:创建JavaBean的一个实例
  2. <jsp:useBean id="stu" class="com.westaccp.test.Student" scope="page/session/application/request" />
  3. 2.setProperty:给JavaBean的属性赋值
  4. <jsp:setProperty name="stu" property="stuName" value="zhangsan" />
  5. <jsp:setProperty name="stu" property="stuName" param="txtName" />
  6. value和param不能同时使用
  7. 偷懒的方法:<jsp:setProperty name="stu" property="*" />
  8. 这个时候需要注意的是,表单元素的名字必须和JavaBean的属性值
  9. 一模一样
  10. 3.getProperty:获得JvaBean的属性值
  11. <jsp:getProperty name="stu" property="stuName" />
  12. 4.forward:内部跳转,相当于request.getRequestDispatcher().forward(request, response);
  13. <jsp:forward page="index.jsp" />
  14. 5.include:包含
  15. <jsp:include page="header.jsp" flush="true" />

表达式语言

  1. EL: Expression Language
  2. 语法格式: ${表达式 }
  3. 表示式 = 运算符 + 操作数
  4. 运算符:跟Java比较,多了一个empty, 少了一个赋值运算符
  5. ${empty ""} : true
  6. ${empty null} :true
  7. 操作数:
  8. -->常量:布尔型(true/false), 整型, 浮点型, 字符串(可以用'', 还可以用""), Null
  9. -->变量:
  10. 1.指的是放在四个标准范围里的属性(page, request, session, application)
  11. 2.在编准范围内的搜索顺序:page-->request--->session--->application
  12. 3.怎么取得变量值:点运算符., 还以用[]
  13. <%
  14. request.setAttribute("name", "lisi");
  15. %>
  16. ${requestScope.name}
  17. 或者
  18. ${requestScope["name"]}
  19. -->隐式对象
  20. 1.pageContext:通过它可以访问request, session, servletContext
  21. 2.跟范围由关的:pageScope, requestScope, sessionScope, applicationScope
  22. 3.跟输入有关的:param, paramValues
  23. 4.其他的:header, cookie, headervalues,
  24. EL表达式适用的场合:
  25. 1.可以在静态文本中使用
  26. 2.与自定义标签结合使用
  27. 3.和JavaBean结合使用
  28. <jsp:userBean id="stu" class="com.westaccp.test.Student" scope="session" />
  29. <jsp:setProperty name="stu" property="stuName" value="hello" />
  30. ${stu.stuName}

自定义标签

  1. 1.标签处理程序实现
  2. --->实现:继承自BodyTagSupport或者TagSupport
  3. 一般会重写doStartTag(), doEndTag(), doAfterBody()
  4. --->描述:在标签库描述符文件中描述(.tld)
  5. <taglib>
  6. <tlib-version>1.0</tlib-version>
  7. <jsp-version>2.0</jsp-version>
  8. <short-name>simpletag</short-name>
  9. <tag>
  10. <name>showbody</name>
  11. <tag-class>com.westaccp.test.ShowBodyTag</tag-class>
  12. <body-content>empty/jsp</body-content>
  13. <attribute>
  14. <name>color</name>
  15. </attribute>
  16. </tag>
  17. </taglib>
  18. --->使用:<%@ taglib uri="WEB-INF/mytag.tld" prefix="my" %>
  19. <my:showbody />
  20. 2.标签文件
  21. --->实现和描述
  22. 在.tag文件中实现
  23. 设置主体内容:<%@ body-content="empty/scriptless" %>
  24. 设置属性:<%@ attribute name="name" required="true" rtexprvalue="true" %>
  25. 有主体内容:<jsp:doBody scope="session" var="theBody" />
  26. <%
  27. String body = (String) session.getAttribute("theBody");
  28. %>
  29. --->使用
  30. WEB-INF/tags/sayhello.tag
  31. <%@ taglib tagdir="/WEB-INF/tags/" prefix="you" %>
  32. <you:sayhello />

标准标签库

  1. 1.核心标签库
  2. -->通用:
  3. set:<c:set var="" value="" scope="" />
  4. out:<c:out value="" />
  5. remove: <c:remove var="" scope="" />
  6. -->条件:
  7. if:<c:if test="">.....</c:if>
  8. choose: <c:choose>
  9. <c:when test="">...</c:when>
  10. <c:when test="">...</c:when>
  11. <c:when test="">...</c:when>
  12. .....
  13. <c:otherwise>...</otherwise>
  14. </c:choose>
  15. -->迭代:
  16. forEach:<forEach var="" items="" varStatus="" begin="" end="">
  17. foTokens:<foTodens var="" items="" delim=",;|"></foTodens>
  18. Java,C#;SQL|C
  19. 2.I18N与格式化标签库
  20. -->setLocale:设置本地区域
  21. -->bundle:设置资源包
  22. -->setBundle:设置资源包
  23. -->message:输出消息
  24. 3.SQL标签库
  25. -->setDataSource:设置数据源,用于获得与数据库的连接
  26. -->query:执行查询
  27. -->update:执行增,删,改
  28. -->transaction:事务
  29. -->param:参数
  30. 4.XML标签库

过滤器

  1. 生命周期:
  2. 1.实例华:
  3. 2.初始化:init()
  4. 3.过滤:doFilter()
  5. 4.销毁:destroy()
  6. 5.不可用

配置

  1. <filter>
  2. <filter-name></filter-name>
  3. <filter-class></filter-class>
  4. </filter>
  5. <filter-mapping>
  6. <filter-name></filter-name>
  7. <url-pattern></url-pattern>
  8. </filter-mapping>

几个重要的接口

  1. 1.Filter:init(), doFilter(), destroy()
  2. 2.FilterChain: doFilter(request, response)
  3. 3.FilterConfig:getFilterName(), getInitParameter(),

过滤器链

--->1--->2--->3--->Servlet 请求

<----1<---2<---3<--- 响应

MvC设计模式

    1. 1.ModelI:jsp+JavaBean
    2. 2.ModelII:jsp+Servlet+JavaBean
    3. jsp---view
    4. servlet---control
    5. javabean---model
    6. MVC:
    7. M--Model:模型:访问后台数据库
    8. V--view:视图:展示
    9. C--control:控制器:控制程序流程
    10. ModelII和MVC的关系:
    11. MVC是一种设计模式,ModelII它是MVC的一种具体的实现

JSP精华知识点总结的更多相关文章

  1. JSP基础知识点

    JSP(Java Server Page)是主要有Sun公司倡导的一种动态网页技术,利用JSP可以构建跨平台的动态网站 应用,JSP在服务器端带JSP容器的Web服务器中运行.JSP以Java语言为基 ...

  2. java基础80 JSP基础知识点(网页知识)

    1.jsp的引入 Servlet的作用:用java语言开发动态资源技术!!!    Jsp的作用:用java语言(+html语言)开发的动态资源技术!!!     Jsp就是servlet 问题:为什 ...

  3. jsp技术知识点

    1.jsp被Tomcat翻译成.java文件后,会被放在Tomcat安装目录下的\work\Catalina\localhost\station\org\apache\jsp文件夹下 2.El表达式表 ...

  4. c# 实用精华知识点全解

    本文介绍c#的实用知识点 写在前面(通识) vs常用快捷键 F5 调试运行程序 ctrl F5 不调试运行程序 F11 逐条语句调试 F10 逐过程调试程序 注释快捷键 ctrl + k + c 代码 ...

  5. JSP常见知识点

    false 7.8 磅 0 2 false false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTa ...

  6. (八)JSP 技术知识点总结(来自那些年的笔记)

    目录 什么是 jsp Jsp 调用和运行原理(简略版) Jsp语法 Jsp指令简介 Page指令 Include指令 taglib指令 Jsp乱码问题 jsp运行原理(详细版) JSP中的九大隐式对象 ...

  7. 一文带你学会java的jvm精华知识点

    前言 本文分为20多个问题,通过问题的方式,来逐渐理解jvm,由浅及深.希望帮助到大家. 1. Java类实例化时,JVM执行顺序? 正确的顺序如下: 1父类静态代码块 2父类静态变量 3子类静态代码 ...

  8. JSP基础知识点(转传智)

    一.JSP概述    1.JSP:Java Server Pages(运行在服务器端的页面).就是Servlet.    学习JSP学好的关键:时刻联想到Servlet即可.    2.JSP的原理  ...

  9. 数据库精华知识点总结(1)—数据库的三层模式和二级映像,E-R(实体联系图)图,关系模型

    Data base: 长期存储在计算机内,有组织的,可共享的大量数据集合.基本特征:永久存储,可共享,有一定的物理和逻辑结构. Data base manage system(DBMS):用户和os之 ...

随机推荐

  1. 【转】Python BeautifulSoup 中文乱码解决方法

    这篇文章主要介绍了Python BeautifulSoup中文乱码问题的2种解决方法,需要的朋友可以参考下 解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输 ...

  2. 设计模式--装饰者设计模式(Decorator)

    装饰者模式又叫包装模式. 通过另一个对象来扩展自己的行为,在不破坏类的封装的情况下,实现松耦合,易扩展的效果.   抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口可以给这些对象动态地添加职责 ...

  3. zoj 2913 Bus Pass

    对于每个输入的站点求出所有点到这个站点的最短路.用anss数组存下来,然后就可以用anss数组求出答案了. 题目分析清楚了 还是比较水的,折腾了一早上.. #include<stdio.h> ...

  4. 我的linux云服务器配置记录

    配置vps的时候,随手记录一下~~ 添加一些源: vi /etc/apt/sources.list deb http://mirrors.aliyun.com/ubuntu/ xenial main ...

  5. JavaScript 运动框架 Step by step(转)

    1,运动原理 Js运动,本质来说,就是让 web 上 DOM 元素动起来.而想要 DOM 动起来,改变其自身的位置属性,比如高宽,左边距,上边距,透明度等.动画的原理就是把不同状态的物体,串成连续的样 ...

  6. ubuntu通过tnvm安装Nodejs

    第一步,先安装tvm tnvm(Taobao Node Version Manager)淘宝Node版本管理器 安装: 直接输入 wget -O- https://raw.githubusercont ...

  7. C#获取数字证书

    string Thumbprint = "C2489D912F247C187AA14B1291A6fB612281225D"; X509Store store = new X509 ...

  8. C#连接sqlserver数据库

    // 混合登录 写法1:Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPas ...

  9. PHP ajax 限制 API 来源限制

    if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_RE ...

  10. 关于oracle数据库(10)函数

    分析函数,用于统计排名 语法:函数名() over(order by 排序字段 asc | desc) row_number() 无论值是否相等,生成连续的行号 -- 1,2,3,4, select ...