jsp&servlet知识点简明扼要

时间:2021-12-22 21:07:40

JSP精华知识点总结

标签: jspsessionservletstringmvcapplication 4126人阅读 评论(6)收藏举报 本文章已收录于: jsp&servlet知识点简明扼要分类: 作者同类文章X

    目录(?)[+]

    1. Servlet三个要素
    2. 四种会话跟踪方式
    3. 内部跳转和外部跳转
    4. JspJava Server Page
    5. 页面构成7种元素
    6. Jsp的执行过程
    7. 脚本
    8. 指令
    9. 隐式对象
    10. JavaBean
    11. Jsp中的标准动作
    12. 表达式语言
    13. 自定义标签
    14. 标准标签库
    15. 过滤器
    16. 配置
    17. 几个重要的接口
    18. 过滤器链
    19. MvC设计模式

    Servlet三个要素

    [java] view plain copyprint?
    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.   
    13. HttpServeltRrequest:请求对象  
    14. getParameter():获得表单元素的值  
    15. getAttribute():获得request范围中的属性值  
    16. setAttribute():设置reqeust范围中的属性值  
    17. setCharacterEncoding():设置字符编码  
    18.   
    19. HttpSerletResponse:相应对象  
    20. sendRedirect():外部跳转  
    21. getWriter():获得输出流对象  
    22. setContentType("text/html; charset=utf-8"):设置相应内容格式和编码  
    jsp&servlet知识点简明扼要

    四种会话跟踪方式

    [java] view plain copyprint?
    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.   
    7. 2.cookie:  
    8. //创建Cookie  
    9. Cookie cookie = new Cookie("name""zhangsan");  
    10. //设置Cookie的超时时间  
    11. cookie.setMaxAge(24 * 60 * 60 *60);  
    12. //把Cookie发送到客户端  
    13. response.addCookie(cookie);  
    14.   
    15. //得到客户端发送的Cookie  
    16. Cookie [] cookies = request.getCookies();  
    17. for(int i=0; i<cookies.length; i++) {  
    18.   Cookie temp = cookies[i];  
    19.   String key = temp.getName();  
    20.   String value = temp.getValue();  
    21. }  
    22.   
    23. 3.隐藏表单域  
    24. <input type="hidden" name="name" value="zhangsan" />  
    25. request.getParameter("name");  
    26.   
    27. 4.Url重写  
    28. 问号传参  
    29. LoginServlet?username=zhangsan&pwd=123  
    30. String name = request.getParameter("username");  
    31. String pwd =request.getPareameter("pwd");  
    jsp&servlet知识点简明扼要

    内部跳转和外部跳转

    [java] view plain copyprint?
    1. 内部跳转:  
    2. LoginServlet  
    3. request.getRequestDispatcher("index.jsp").forward(request, resposne);  
    4. 外部跳转:  
    5. response.sendRedirect("index.jsp");  
    6. 内部跳转是一次请求和一次响应  
    7. 外部跳转是两次请求和两次响应  
    jsp&servlet知识点简明扼要

    [java] view plain copyprint?
    1. ServletContext:Servlet上下文对象  
    2. 它是一个公共区域,可以被所有的客户端共享  
    3. setAttribute():向公共区域里放入数据  
    4. getAttribute():从公共区域里取数据  
    5.   
    6. 三个标准范围:request, session, ServletContext  
    7.   共同点:都有setAttribute(), getAttribute()  
    8.   区别:范围不同,request < session < servletContext  
    9. 服务器上的五大对象  
    10.   request, response, servlet, session, servletContext  
    jsp&servlet知识点简明扼要

    Jsp:Java Server Page

    页面构成:7种元素

    [java] view plain copyprint?
    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&servlet知识点简明扼要

    Jsp的执行过程

    [java] view plain copyprint?
    1. 1.转译:Jsp--->Servlet  
    2. 2.编译:Servlet---->.class  
    3. 3.执行:.class  
    4. 第一次访问jsp的时候响应速度较慢,后面请求时响应速度快  
    jsp&servlet知识点简明扼要

    脚本

    [java] view plain copyprint?
    1. 表达式:<%= %>  
    2. Scriptlet:<% %>  
    3. 声明:<%! %>  
    jsp&servlet知识点简明扼要

    指令

    [java] view plain copyprint?
    1. page:language, import, errorPage, isErrorpage  
    2. include:file  
    3. taglib:uri:指定标签库描述符的路径 prefix:指定标签的前缀  
    jsp&servlet知识点简明扼要

    隐式对象

    [java] view plain copyprint?
    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  
    jsp&servlet知识点简明扼要

    JavaBean

    [java] view plain copyprint?
    1. 一个标准的JavaBean有三个条件  
    2. 1.共有的类  
    3. 2.具有不带参数的公共的构造方法  
    4. 3.具有set()和get()方法  
    5. 4.私有属性  
    jsp&servlet知识点简明扼要

    Jsp中的标准动作

    [java] view plain copyprint?
    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" />  
    jsp&servlet知识点简明扼要

    表达式语言

    [java] view plain copyprint?
    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.   
    25. EL表达式适用的场合:  
    26. 1.可以在静态文本中使用  
    27. 2.与自定义标签结合使用  
    28. 3.和JavaBean结合使用  
    29. <jsp:userBean id="stu" class="com.westaccp.test.Student" scope="session" />  
    30. <jsp:setProperty name="stu" property="stuName" value="hello" />  
    31. ${stu.stuName}  
    jsp&servlet知识点简明扼要

    自定义标签

    [java] view plain copyprint?
    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.      
    10.   <tag>  
    11.   <name>showbody</name>  
    12.   <tag-class>com.westaccp.test.ShowBodyTag</tag-class>  
    13.   <body-content>empty/jsp</body-content>  
    14.   <attribute>  
    15.   <name>color</name>  
    16.   </attribute>  
    17.   </tag>  
    18.   </taglib>  
    19. --->使用:<%@ taglib uri="WEB-INF/mytag.tld" prefix="my" %>  
    20.   <my:showbody />  
    21. 2.标签文件  
    22. --->实现和描述  
    23.   在.tag文件中实现  
    24.   设置主体内容:<%@ body-content="empty/scriptless" %>  
    25.   设置属性:<%@ attribute name="name" required="true" rtexprvalue="true" %>  
    26.   有主体内容:<jsp:doBody scope="session" var="theBody" />  
    27.   <%  
    28.   String body = (String) session.getAttribute("theBody");  
    29.   %>  
    30. --->使用  
    31.   WEB-INF/tags/sayhello.tag  
    32.   <%@ taglib tagdir="/WEB-INF/tags/" prefix="you" %>  
    33.   <you:sayhello />  
    jsp&servlet知识点简明扼要
       

    标准标签库

    [java] view plain copyprint?
    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标签库  
    jsp&servlet知识点简明扼要

    过滤器

    [java] view plain copyprint?
    1. 生命周期:  
    2. 1.实例华:  
    3. 2.初始化:init()  
    4. 3.过滤:doFilter()  
    5. 4.销毁:destroy()  
    6. 5.不可用  
    jsp&servlet知识点简明扼要

    配置

    [java] view plain copyprint?
    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>  
    jsp&servlet知识点简明扼要

    几个重要的接口

    [java] view plain copyprint?
    1. 1.Filter:init(), doFilter(), destroy()  
    2. 2.FilterChain: doFilter(request, response)  
    3. 3.FilterConfig:getFilterName(), getInitParameter(),  
    jsp&servlet知识点简明扼要


    过滤器链

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

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

    MvC设计模式

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



    7
    1
       

    我的同类文章

    http://blog.csdn.net