1、jsp变量不用像c一样需要预先定义,而是像python一样需要时随处定义。
2、定义变量表达式用;结束,等值表达式不用;结束。
3、引用文件时<%@ include file="";%>这条语句编译完成时就被显示了。同时所有定义页面信息的语句均不用;结束。
4、引用文件的语句可以不用放在整个文件最前面,可以随处安放,其他定义页面属性的语句木有测试。
5、可以在文件中直接使用xml语法,效果与jsp语法一样。
6、jsp动作元素使用xml语法。
7、jsp动作元素有两个属性:id和scope,id元素是动作元素的唯一标识,scope识别动作元素的周期,可能的值有:page,request,session,application
8、<jsp:include/>将指定的文件插入正在生成的页面,拥有两个属性:page和flush。page:值为引用文件的url地址;flush:定义在引用文件前是否刷新缓冲区
,值为布尔值(true/flase).
9、javaBean解释:https://www.cnblogs.com/zterry/p/6863388.html
10、javaBean相当于实例化一个对象。
11、<jsp:setProperty>设置属性。
12、<jsp:setProperty>可以被镶嵌在<jsp:useBean>内。
13、<jsp:setProperty>有四个属性:name,property,value,param。name:必要,表明要设置那个Bean;property:必要,表明要设置那个属性,如果为*,
表示所有和bean匹配的都将被设置。value:设置属性的值;param:指定用那个请求作为属性的值。
14、<jsp:setProperty>属性value和param不能同时存在。
15、使用Bean前,确保存放class类文件路径正确,正确的路径应为.../webapps/ROOT/WEB-INF/classes/...(classes文件夹如果木有,则需要自己手动建立,
例如有.../classes/com/Test.class,使用Bean时,class属性值应该为com.Test,其中,com是包名,在编写Test.java文件时就应该声明包名为com,即package
com;)
16、<jsp:forward>实现重定向,只有一个属性page,值为url。
17、对尝试<jsp:forward>时发现,将另一个jsp文件夹放在tomcat根目录下,page属性直接使用文件名木有问题,但是浏览器的url链接木有跳转,内容正常
显示,在page属性值加上127.0.0.1:8080/后报错,错误日志为The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
,初步推断为当前文件权限不足。
18、<jsp:element>、<jsp:attribute>、<jsp:body>三个xml标签动态的生成了xml标签,其中关系为<jsp:element>内部镶嵌了<jsp:attribute>和<jsp:body>
,而<jsp:attribute>与<jsp:body>是并列关系,其中具体作用为:<jsp:element>生成以属性name值为名字的一个xml标签,<jsp:attribute>生成以属性name
的值为xml标签属性的名字,其中<jsp:attribute>标签之间的内容为xmlk标签的内容。<jsp:body>无属性,它之间的内容为xml标签之间的内容,即要显示的
内容。
19、<jsp:text>显示文本???迷之标签。
20、jsp隐式对象理解:相当于已经实例化了的类,可以直接调用相关方法。
21、request对象(jsp隐式对象之一):用来获取http或者https数据包的相关信息,例如cookie等。
22、response对象(jsp隐式对象之一)理解:应该应用于服务端?作用可以用来修改响应包,例如cookie,状态码等。
23、out对象(jsp隐式对象之一):有三种方法,print、println、flush,print:打印结果;println:打印结果并换行;flush:刷新输出流。
---------------------------2019.1.15 未完待续-----------------------------------------------------------------------------------------------------------
24、在jsp中,使用其他包有两种方法,第一种:使用Bean,class属性定义包路径。第二种:跟java一样,直接实例化该类即可,但在使用前必须先导入该包。
例如要使用Date,使用useBean,将class设置为java.util.Date即可,如果直接实例化该类,必须加入<%@ page import="java.util.Date" %>,不能直接实例化
该类,例如Date date = new java.util.Date()(错误写法)。
25、使用import时建议将语句放在页面开头,放在其他地方也可以,但是不能镶嵌进一个jsp语句(<% %>)中,会报错,具体原因木有研究。
26、出现中文乱码,可以将编码转换为utf-8,再将它字符串化,例如(new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8")。
27、有关cookie的两个函数,getName()和getValue(),作用分别是得到cookie的名称和值。
28、得到cookie的函数为getCookies(),他是request对象中的一个函数,返回值为一个对象数组。cookie是一个对象。
29、session相关的函数有getCreationTime()、getLastAccessTime()、setAttribute()、getAttribute()等,作用分别是得到session创建时间、最后访问
时间,设置session属性、得到session属性的值。(session是用来维护用户身份的标识,作用与cookie类似,当一个session被实例化时,自动创建了Id、
创建时间、最后访问时间等属性)
30、对于jsp中页面重定向可以使用sendRedirect(url)函数,参数为要重定向到的url,也可以使用setStatus()+setHeader()来实现页面重定向,<jsp:forward>
不能实现页面重定向(***),<jsp:forward>仅仅将一个动作定向到其他页面。(相当于将一个需要处理的事件交给其他jsp文件或其他类型文件处理,再将处理完
的结果发送给原页面处理)
-----------------------------------------------------2019.1.16 未完待续---------------------------------------------------------------------------------
31、jstl库安装说明:下载好jstl库包后,将解压后的lib目录下的两个jar文件复制到WEB-INF目录下的lib文件夹(木有lib文件夹则自己创建一个),同时将整个
解压后的tld文件夹拷贝到WEB-INF文件夹下面。如果WEB-INF目录下面有web.xml文件,将这个xml文件删除,将新建的web.xml文件拷贝到WEB-INF文件夹
下面,不能再原web.xml里面直接修改配置,否则服务器会启动报错,解析任何jsp文件都会报404错误。
32、jstl有五种标签,核心标签、格式化标签、sql标签、xml标签、jstl函数。核心标签可以理解为跟jsp语法效果一样的标签;格式化标签大用来格式化输出、
文本等、sql标签提供了与数据库交互的接口、xml标签用来操纵xml;jstl函数就是提供了一系列的函数。
33、在与数据库交互的时候,需要建表插入数据等,建议不要在mysql命令行进行操纵,由于mysql传输采用的是utf-8编码,但windows的命令行采用的是
gbk编码,所以在命令行中操纵mysql数据库,涉及到中文就会出现乱码问题,如果实在要在命令行里面操纵mysql,可以在mysql的安装目录中的my.ini的
配置文件中将编码方式修改为gbk,建议最好打开3306端口,在浏览器中使用图形化界面操纵mysql(此处mysql数据库是由phpstudy一件搭建好的)。
34、在使用sql标签时,插入数据是更新操作,应该用<sql:update>标签。
35、删除数据同上,删除数据可以配合<sql:param>标签使用。
36、jsp自定义标签参考链接:https://www.cnblogs.com/vmax-tam/p/4145334.html
--------------------------------------------------------2019.1.17 完结---------------------------------------------------------------------------------
jsp学习笔记
内容版权声明:除非注明,否则皆为本站原创文章。