本文转自: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. 《高性能Javascript》读书笔记-2

    第二章 数据存取 字面量: 代表自身 不存特定位置   :字符串 数字 bool 对象 array 函数  正则表达 本地变量: var 数组: 存储在js数组对象内部,以数字做索引 对象成员 存储在 ...

  2. ggplot2 scale相关设置

     ggplot2   scale相关设置 标度设置:主要用于在ggplot画图后的各个图层进行调整设置. 1.相关属性scale设置 包括scale_size().scale_alpha().scal ...

  3. Java IO 文件与流基础

    Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...

  4. 4、Spring+MyBatis增删改查

    0.oracle数据库脚本 create table userinfo (id ), name ), password telephone ), isadmin )); --4.2 用户表序列 cre ...

  5. 7、Struts2实现文件上传和下载

    一.实现单个文件上传 1.创建如下web项目结构 2.在src下的com.action包下创建UploadAction.java package com.action; import java.io. ...

  6. delphi 容错提示语句汇总

    打开文件失败的容错提示语句 try if OpenDialog1.Execute then begin MyList.Clear; MyList.LoadFromFile(OpenDialog1.Fi ...

  7. Chapter 15_3 使用环境

    创建模块的基本方法的缺点在于,忘记使用local,很容易就污染全局空间. “函数环境”是一种有趣的技术,它能够解决上面的问题.就是让模块的主程序块独占一个环境. 这样不仅它的所有函数可以共享这个tab ...

  8. 多线程---其他方法 停止线程、守护线程、join方法

    第三方停止线程: 原来是stop(),因为该方法有些问题,所以被interrupt()方法取代,它的用途跟机制是 当没有指定的方式让冻结的线程恢复到运行状态时,这时需要对冻结进行清除,强制让线程恢复到 ...

  9. SSL+socket详解

    转自:http://hengstart.iteye.com/blog/842529 一.        SSL概述 SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对 ...

  10. Bug(案例)图片的垂直出现隐藏

    这个案例是一个出Bug的案例,很抱歉本人没有找到bug在哪,但是功能却实现了. <!DOCTYPE html> <html> <head> <meta cha ...