JSP基础
Posted 十九万里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP基础相关的知识,希望对你有一定的参考价值。
1、JSP基础
JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。
JSP文件后缀名为 *.jsp 。
JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。
2、JSP生命周期
编译阶段:servlet容器编译servlet源文件,创建其实例,并调用他的初始化方法
解析JSP文件
将JSP文件转化为servlet
编译servlet
**初始化阶段:**加载与JSP对应的servelt类,创建其实例,并调用他的初始化方法
**“执行阶段”:**调用JSP对应的servlet实例的服务方法
销毁阶段:调用JSP的servlet实例销毁单独 然后销毁servlet实例
3、JSP语法
1、脚本程序
<% 代码片段 %>
<jsp:scriptlet>
代码片段
</jsp:scriptlet>
2、jsp声明 !
格式
<%! declaration; [ declaration; ]+ ... %>
或者:
<jsp:declaration>
代码片段
</jsp:declaration>
3、JSP表达式 =
JSP表达式中包含脚本语言的表达式,先被转化成为string,然后插入到表达出现的地方
<%= 表达式 %>
4、JSP注释
<%-- 该部分注释在网页中不会被显示--%>
5、JSP指令
<%@ directive attribute="value" %>
4、JSP指令
JSP指令是用来设置整个JSP页面相关的属性 如网页的编码方式和脚本语言
三个指令:
page include taglib
page:指令为容器提供当前页面的使用说明 一个JSP中可以包含多个page
include:包含其他文件,会被同时编译执行
taglib:引入自定义标签集合
5、JSP动作元素
jsp动作元素在请求阶段起作用,使用xml语法写成的
标准元素包括:
include:在页面被请求时引入一个文件
jsp:useBean 寻找活实例化一个javsBean
jsp:setProperty:设置javaBean的属性
jsp:getProperty:输出某个javaBean的属性
jsp:forWard :请求转到一个新的页面
jsp:plugin : 根据浏览器类型为java插件生成 object活embed标记
jsp:element 定义动态xml元素
jsp:sttributr 设置动态定义xml元素属性
jsp:body 设置动态定义的xml元素内容
jsp:text 在jsp页面和文档中写入文本的模板
每个动作属性都有两个属性
id属性:动作属性的唯一标识
scope属性:识别动作元素的生命周期
jsp:include 动作元素
《jsp:include》动作元素是用来包含静态和动态的文件,把文件插入到页面中
属性:
page: 包含页面中的相对URL地址
flush:布尔属性,定义在包含资源前是否存在刷新区
6、JSP隐式对象
jsp隐式对象还是JSP容器为每个页面提供的java对象,也被称为预定义变量 一共9个
request: Http ServleRequest 接口的实例
response: Http ServletResponse 接口的实例
out:JSP Writer类的实例,用于吧结果输出到网页上
session: Http Session类的实例
application: ServletContext类的实例,与应用上下文有关
config: servletCoonfig 类的实例
pageContext:
page
Exception
7.JSP客户端请求
http常见请求头:
8、JSP服务器相应
Response相应对象主要是把JSP容器处理的结果传回客户端。
get和post方法
9、JSP过滤器
JSP和 Servlet中的过滤器都是java类
过滤器可以动态的拦截请求和相应,以变换或使用包含在请求或相应中的信息
过滤器是可用于Servlet编程的类,可以实现:
在客户端的请求访问后端资源之前 ,拦截这些请求器
在服务器的响应发送回客户端之前 处理这些响应
过滤器有很多种:
Servlet过滤器方法
过滤器是一个实现了javax.servelt.Filter 接口的java类 定义了三个方法
代码实现;
//导入必需的 java 库
import javax.servlet.*;
import java.util.*;
//实现 Filter 类
public class LogFilter implements Filter {
public void init(FilterConfig config) throws ServletException {
// 获取初始化参数
String site = config.getInitParameter("Site");
// 输出初始化参数
System.out.println("网站名称: " + site);
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException {
// 输出站点名称
System.out.println("站点网址:http://www.runoob.com");
// 把请求传回过滤链
chain.doFilter(request,response);
}
public void destroy( ){
/* 在 Filter 实例被 Web 容器从服务移除之前调用 */
}
}
10、JSP Cookie处理
cookie是存储在客户机的文本文件,保存了大量的轨迹信息
使用JSP设置cookie一共三个步骤:
1、创建一个对象
Cookie cookie = new Cookie("key","value");
2、设置有效期
cookie.setMaxAge(60*60*24);
3、将 cookie 发送至 HTTP 响应头中
response.addCookie(cookie);
11、JSP session
HTTP是无状态的 这意味着每次连接客户端的时候 都要单独打开一个服务器连接。,服务器不会记录客户端前的请求信息
文件上传:
upload.jsp :文件上传表单
message.jsp : 上传成功后跳转页面
UploadServlet.java:上传后处理Servlet
需要引入的jar文件:commons-fileupload-1.3.2、commons-io-2.5.jar
12 、JSP页面重定向
最简单的重定向是response 对象, sendRedirect 方法。
也可以使用setStatus(),setHeader()
要实现一个计数器,可以利用应用程序影视对象和相关方法getAttribute()。setAttribute()来实现
13、JSP标准标签库 (JSTL)
是一个jsp标签集合,封装应用了JSP应用的通用核心功能,
JSTL支持通用的结构化的任务, 比如迭代, 条件判断,xml文档操作, 国际化操作,SQL标签,
分为五个类别:
核心标签 格式化标签 SQL标签 XML标签 JSTL 标签
核心标签:c开头
格式化标签:fmt开头
SQL标签: sql
XML标签:x开头
JSTL函数:标准函数 大部分是用于字符串处理的
14、JSP连接数据库
15、JSP XML数据处理
16、JSP JavaBean
JavaBean是特殊的java类 特点
1、提供一个默认的无参构造函数
2.需要被序列化并实现SeriaLizable接口
3、可能又一系列可读写属性
4、有一些列的getter或者setter方法
javaBean有两个对象属性:
getPropertyName()
setPrirpertyName()
以上是关于JSP基础的主要内容,如果未能解决你的问题,请参考以下文章