├── .gitattributes └── JSP.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /JSP.md: -------------------------------------------------------------------------------- 1 | #JSP 2 | JSP(Java Server Pages),一种动态网页开发技术。 3 | 4 | JSP是以Java语言作为脚本语言的,其开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Window上。 5 | 6 | 第一个Hello World 程序 7 | 8 | 9 | 10 | 第一个JSP程序 11 | 12 | 13 | <% 14 | out.println("Hello World!"); 15 | %> 16 | 17 | 18 | 19 | ####JSP开发环境: 20 | 25 | 26 | ####JSP优势: 27 | 33 | 34 | ####动态网页性能对比 35 | 40 | 41 | 42 | ####JSP页面元素构成 43 | 51 | 52 | 53 | #####JSP页面的生命周期 54 | 编译阶段:解析文件,转化为servlet,编译servlet
55 |   ||
56 | 初始化阶段:首先调用构造函数,jspInit()方法只执行一次
57 |   ||
58 | 执行阶段:_jspService(HttpServletRequest request,HttpServletResponse response)
59 |   ||
60 | 销毁阶段:jspDestroy() 61 | 62 | 63 | 64 | #####JSP指令 65 | ######page指令:定义网页依赖属性,比如脚本语言、error页面、缓存需求等等 66 | 67 | ``<%@ page ... %>`` 68 | 69 | 属性: 70 | 75 | 76 | 77 | ######include指令:将一个外部文件嵌入到当前文件中,同时解析 78 | 79 | ``<%@ include file="文件相对 url 地址" %>`` 80 | 81 | 82 | 83 | ######taglib指令:使用标签库定义新的自定义标签,启用定制行为 84 | 85 | ``<%@ taglib uri="uri" prefix="prefixOfTag" %>`` 86 | 87 | 88 | #####JSP声明 89 | 90 | ``<%!JAVA声明的变量或者方法%>`` 91 | 92 | #####JSP脚本元素 93 | 即JSP中可以执行的java代码 94 | 95 | ``<%JAVA代码%>`` 96 | 97 | 98 | #####JSP表达式 99 | 100 | ``<%=表达式%>`` 表达式不以分号结束; 101 | 102 | #####JSP 九大内置对象 103 | JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。 104 | 常用的: 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 |
对象描述备注
requestHttpServletRequest类的实例request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等
responseHttpServletResponse类的实例定义了处理HTTP头模块的接口
outPrintWriter类的实例,用于把结果输出至网页上常用方法:printIn();clear();flush();clearBuffer();getBufferSize();getRemaining();isAutoFlush();close();
sessionHttpSession类的实例
applicationServletContext类的实例,与应用上下文有关
configServletConfig类的实例
pageContextPageContext类的实例,提供对JSP页面所有对象以及命名空间的访问存储了request对象和response对象的引用
page类似于Java类中的this关键字
ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象通常用来产生对出错条件的适当响应
160 | 161 | 162 | #####JSP服务器相应 163 | Response响应对象主要将JSP容器处理后的结果传回到客户端。可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie、HTTP文件头信息等。 164 | 165 | 166 | #####JSP客户端相应 167 | request对象提供了一系列方法来获取HTTP信息头,包括表单数据,cookies,HTTP方法等等。 168 | 169 | #####JSP session 170 | HTTP是无状态协议,这意味着每次客户端检索网页时,都要单独打开一个服务器连接,因此服务器不会记录下先前客户端请求的任何信息。 171 | 172 | ######维持客户端与服务器的会话的方法 173 | * Cookies 174 | * 隐藏表单域: 175 | `` 176 | 但点击A标签中的超链接时不会产生表单提交事件,因此隐藏表单域也不支持通用会话跟踪 177 | * 重写URL 178 | * session(保存在服务器的内存之中,每个用户对应一个不同的session) 179 | 180 | 181 | ######session的生命周期 182 | 创建 183 | 活动 184 | 销毁:调用session.incalidate()方法;session过期;重启服务器; 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | --------------------------------------------------------------------------------