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基础的主要内容,如果未能解决你的问题,请参考以下文章

JSP开发中的基础语法

jsp基础语言-jsp代码段

JSP基础--JSP入门

Java基础——JSP

JSP基础学习

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js