• jsp学习:jsp学习阶段性总结2019.9.21


      1 Jsp学习
      2 jsp语法格式:
      3 脚本程序:<% 代码片段 %>
      4 jsp声明:<%! declaration; [ declaration; ]+ ... %>
      5 表达式:<%= 表达式 %>
      6 jsp注释:<%-- 该部分注释在网页中不会被显示--%>
      7 jsp指令:<%@ directive attribute="value" %>
      8 jsp行为:<jsp:action_name attribute="value" />
      9 
     10 <%= request.getParameter(“account”) %> 
     11 使用上面一条语句可以在表单中获取name为account的元素值,也就是account的具体值。
     12 例:(学会在jsp页面使用java语句)
     13 <%String account = request.getParameter("account");
     14 String password = request.getParameter("password");
     15 if(account.equals("qingjun")&&password.equals("123")) { %>   
     16 <jsp:forward page="ForwardTest_Success.jsp"></jsp:forward>
     17 <% } else { %>
     18 <jsp:forward page="ForwardTest_Fail.jsp"></jsp:forward>
     19 <% } %>
     20 forward是跳转页面用的组件
     21 page指令:
     22 <%@ page language="java" contentType="text/html; charset=UTF-8"
     23     pageEncoding="UTF-8"%> language,contentType,import 属性用的多,import引入的多个java类包用逗号隔开
     24 
     25 被插入的jsp页面page中的contentType属性和本jsp文件必须保持一致。
     26 Include指令标记和动作标记的区别:
     27 Include指令标记:一起编译执行,一个servlet。通过file属性指定文件,不支持表达式。包含被包含文件一起编译,不能有重名的方法或变量。
     28 动作标记:
     29 Include动作标记:该标识执行时,程序会请求转发到被包含页面,将执行结果输出到浏览器中,然后返回页面继续执行后面。通过page属性指定文件,支持表达式。不一起编译,可以有重名的方法或变量。
     30 <!--<%@ include file="Date.jsp" %>include指令标记-->
     31 <!-- include动作标记,将要引入文件的url写成属性内容 -->
     32 <jsp:include page="Date.jsp"></jsp:include>  
     33 对应jsptest的pagetest01.jsp
     34 Forword动作标记:转向另一个页面,原页面停止执行,浏览器栏显示的仍然是原jsp页面的url。
     35 <form action="Forward_CheckLogin.jsp" method="post"> 
     36 <input name="account" type="text" />
     37 <br>
     38 <input name="password" type="text" />
     39 <br>
     40 <button name="login" type="submit">登录</button>   
     41 </form>
     42 转向
     43 <%
     44 String account = request.getParameter("account");
     45 String password = request.getParameter("password");
     46 if(account.equals("qingjun")&&password.equals("123")) {
     47 %>
     48 <jsp:forward page="ForwardTest_Success.jsp">
     49 <jsp:param value="123456" name="qwe"></jsp:param>
     50 </jsp:forward>
     51 <% } else { %>
     52 <jsp:forward page="ForwardTest_Fail.jsp"></jsp:forward>
     53 <% } %>
     54 对应jsptest的forward系列,forward动作标记在forward_checklogin.jsp中用到
     55 request内置对象:
     56 request在接受信息前用request.setCharacterEncoding(“UTF-8”);设置编码方式。
     57 <% request.setCharacterEncoding("UTF-8");
     58 String name = request.getParameter("name");
     59 String password = request.getParameter("password");
     60 out.println("用户名:"+name);
     61 out.println("密码:"+password);
     62 %>
     63 对应jsptest的request系列,request内置对象在request.jsp中用到
     64 response内置对象:
     65 动态响应:response.setContentType("application/msword;charset=utf-8");//把当前页面设置成word文档的形式,教程教的比较片面?我感觉response很多功能都没讲吧。
     66 <body>
     67 <p>将当前页面保存为word文档吗
     68 <form action="" method="post">
     69 <input type="submit" value="yes" name="submit">
     70 </form>
     71 <%
     72 String str=request.getParameter("submit");
     73 if (str==null) {
     74     str="";
     75 }
     76 if(str.equals("yes")) {
     77     response.setContentType("application/msword;charset=utf-8");
     78 }
     79 %>
     80 </body>
     81 重定向:response.sendRedirect("ResponseTest2.jsp");//重定向到ResponseTest2.jsp
     82 <form action="Response.jsp" method="post">
     83 <input type="text" name="name">
     84 <input type="submit" value="提交" name="submit">
     85 </form>
     86 提交到:
     87 <%request.setCharacterEncoding("utf-8");
     88 String name=request.getParameter("name"); //获取到了name
     89 if(name==null||name.length()==0) {
     90     response.sendRedirect("ResponseTest2.jsp");//重定向到ResponseTest2.jsp
     91 }
     92 %>
     93 <h1> 欢迎<%= name %> </h1>
     94 希望以后再用到这些东西我看笔记能懂怎么写
     95 对应jsptest的response系列,response内置对象在response.jsp和responsetest.jsp中用到。
     96 session内置对象:
     97 tomcat服务器使用session内置对象来记录有关连接的信息。从一个客户打开浏览器连接到服务器,到客户关闭浏览器离开这个服务器结束,被称为一个会话。session对象在第一个页面装载时自动创建,完成会话管理。
     98  
     99 第一次打开tomcat,session对象建立,关闭网页,但tomcat还开着,那么session对象还存在,直到关闭tomcat服务器,刚开始我以为这和application内置对象生命周期是一样的,但当我设定session.setMaxInactiveInterval(5)之后它只能存在5s了,希望在今后的学习中继续了解session内置对象。session可用函数见eclipse里我的练习。session.setMaxInactiveInterval(5);这个函数只能放在<%  %>中,我把他放到<%=  %>里面就报错了。如下:
    100 严重: Servlet.service() for servlet [jsp] in context with path [/Jsptest] threw exception [Unable to compile class for JSP: 
    101 An error occurred at line: [18] in the jsp file: [/SessionTest.jsp]
    102 The method print(boolean) in the type JspWriter is not applicable for the arguments (void)
    103 严重:servlet [jsp]的Servlet.service()在路径[/ Jsptest]的上下文中引发了异常[无法为JSP编译类:
    104 在jsp文件中的第[18]行发生错误:[/SessionTest.jsp]
    105 JspWriter类型中的方法print(boolean)不适用于参数(void)
    106 我只是粗浅的了解了一些session的特性,session的应用还没学到。希望今后能继续学习这方面的内容。只恨自己学的太慢,学的太少。
    107 session的一些方法:
    108 session.getCreationTime();
    109 session.setAttribute("username", "qingjun");
    110 session.getAttribute("username");
    111 session.getId();
    112 session.setMaxInactiveInterval(5);
    113 对应jsptest的session系列。
    114 application内置对象:
    115 &nbsp在html中表示空格
    116 用户共有的一个application对象,所有操作都是对一个application进行操作,服务器启动生成application对象,服务器停止注销该对象。
    117 <% 
    118 application.setAttribute("username", "qingjun");
    119 application.setAttribute("password", "123");
    120 application.setAttribute("E-mail", "daaijibu@163.com");
    121 %>
    122 用户名:<%= application.getAttribute("username") %><br>
    123 application中的属性:
    124 <%
    125 Enumeration attributes;  //定义一个枚举类型的变量
    126 attributes = application.getAttributeNames();  //将application中的全部属性的枚举集合类赋给attributes
    127 while (attributes.hasMoreElements()) {   
    128     out.println(attributes.nextElement()+"&nbsp;&nbsp;");  //遍历attributes,输出application的全部属性 &nbsp是空格的意思
    129 }
    130 %>
    131 对应jsptest的ApplicationTest.jsp。
    132 out内置对象:主要用来处理缓存区中的信息。这个很常用,直接上代码
    133 <%
    134 out.println("若逢新雪初霁,满月当空,下面平铺着皓影,上面流转着亮银,");
    135 out.flush();  //将缓存区内容输出,如果不加这一句,上面那句话就输出不出来
    136 out.clearBuffer(); //将缓存区中的内容清除
    137 out.println("而你带着笑向我步来,月色与雪色之间,你是第三种绝色。");
    138 %>
    139 对应jsptest的OutTest.jsp。
    140 param内置对象:
    141 <jsp:forward page="ForwardTest_Success.jsp">
    142 <jsp:param value="123456" name="qwe"></jsp:param></jsp:forward>
    143 是个jsp:forward里面一层的对象,可以顺带把参数传到page中的页面。
    144 对应jsptest的Forward_CheckLogin.jsp.

     一个简单的jsp学习总结,加油继续学习,希望你每天都是不一样的自己。

    然后不要懒惰,天气凉下来了,思绪也冷静下来专注于己,不断成长吧。

    为了凑够150个字,分享一个我近两年喜爱的钢琴师,听他的曲子是永远听不腻的,每次听都会有新的感受。
    罗伯托·卡恰帕利亚(Roberto Cacciapaglia)
    罗伯托·卡恰帕利亚出生于米兰,毕业于米兰朱塞佩·威尔第音乐学院,在作曲专业之外,还学习了指挥和电子音乐。在任职于米兰的意大利国家电视台期间,与比萨的国家研究理事会合作,同时学习音乐软件运用。
    作为艺术家,他不仅专注于古典音乐,作品还渗透了多种不同的音乐风格和类型,融合了先锋主义、摇滚语言、计算机音乐、实验性音乐、电子音乐以及具有概念性和普遍艺术性的音乐元素。作为作曲家和钢琴家,他是国际舞台上创新音乐领域的关键人物,他的作品将电子实验音乐与古典传统融合在一起。多年来,罗伯托·卡恰帕利亚一直在研究声音的力量,寻求通过深度的情感接触表达出超越边界的音乐。

  • 相关阅读:
    微信redirect_uri 回调错误,scope权限错误
    对“空间数据库”的理解
    空间数据库2
    PostgreSQL和MySQL
    shp文件和地理数据库文件的区别
    分布式 空间数据库
    Git使用教程
    栅格投影
    mapnik渲染原理
    高斯消元——浮点数模板
  • 原文地址:https://www.cnblogs.com/qjqj0-0/p/11561327.html
Copyright © 2020-2023  润新知