JSP基础
2019-05-17 00:04:25来源:博客园 阅读 ()
1.什么是JSP?
JSP的全名是 java server page 即Java服务器端的页面,是一种能够动态生成网页数据的技术。它特点是html和java程序并存,在jsp页面第一次被访问时,服务器会将jsp文件转译成Servlet。
2.JSP的实现原理
jsp本质上还是Servlet。在第一被访问时,会被服务器转译成Servlet。以Tomcat为例,在Tomcat的配置文件web.xml中有以下这么一段代码
<servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspx</url-pattern> </servlet-mapping>
当访问以".jsp"或".jspx"为后缀的页面时,Tomcat就会去调用一个Servlet (org.apache.jasper.servlet.JspServlet),这个Servlet被称为JSP引擎,用来将jsp中的内容转译成Servlet。转译后的Servlet类文件被存放在work文件夹中。
3.为什么要使用JSP
Servlet在需要动态改变页面内容时较为麻烦,需要将html代码通过ServletResponse对象字符串拼接的方式输出给浏览器,代码编写困难。而JSP可以将html和java代码整合起来,服务器会帮我们转成Servlet,代码编写简单。但相对的JSP在java逻辑处理方面比较麻烦,而Servlet正好可以弥补这一缺点,所一般采用 jsp+servlet+javabean。
4.jsp页面组成(A)
jsp 页面包括以下内容:
1.静态内容(html代码)
2.注释
<!-- html注释 -->数据不显示在页面中,jsp引擎还是会编译
<%-- jsp注释 --%> jsp引擎还是会编译
3.脚本(java代码,位于方法中)
<% java代码 %>
转译后代码位于_jspService()方法中(不能定义方法、变量为局部变量)
4.声明(也是java代码,位于类中)
<%! java代码 %>
转译后代码位于serlvet的类中(可以定义方法。变量为全局变量)
5.表达式(在页面中输出)
<%= 变量或方法 %>
输出变量的值或调用方法并输出返回值
6.指令
<%@ 指令名 属性=值 %>
page指令
pageEncoding 设置页面编码类型
contentType 设置内容的类型及编码
import 导入某个包/类
session 表示是否在访问页面时,创建session对象,默认值为true
isELIgnored 表示是否忽略EL的解析
isErrorPage 表示该页面是处理异常的页面。
include指令
file 引入一个jsp页面在当前页面中,相当于将两个jsp页面整合成一个Servlet,两个页面中不允许出现重复的变量名
taglib指令 导入标签库
uri 标签库位置
prefix 标签库前缀
5.动作语法
jsp:forward 请求转发,使用该标签时注意标签里不能有任意字符,除非需要传参,可以使用<jsp:param>标签传参
jsp:include 动态导入,导入一个服务器内部jsp页面
6.静态导入和动态导入
静态导入:
<%@ include file="logo.jsp" %>
– 是在servlet引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到一起,全部放到_jspService方法中),所以只生成了一个servlet,所以两个页面不能有同名的变量。
– 运行效率高一点点。耦合性较高,不够灵活。
动态导入:
<jsp:include page=“logo.jsp”></jsp:include>
– 是在servlet引擎转译后,请求的此页面,所以共生成了两个servlet,所以可以有同名变量。
– 生成两个servlet,相当于两个类之间的调用,耦合性较低,比较灵活。
7.九大内置对象
jsp九大内置对象:4+2+3
四大作用域:
pageContext --> javax.servlet.jsp.PageContext
代表当前页面,作用域:一个页面
request --> HttpServletRequest
来自客户端的请求,作用域:一次请求中所有Servlet
session --> HttpSession
代表一次会话,作用域:一次会话中所有Servlet
application --> ServletContext
代表当前web站点,作用域:当前项目中所有Servlet
两个输出
out --> javax.servlet.jsp.JspWriter
可以直接向客户端写一个由程序动态生成HTML文件
response --> HttpServletResponse
对客户端的响应
三个打酱油的
page --> Object
配置信息,很少使用
config --> ServletConfig
当前页面对象,基本不用
exception --> Throwable
异常对象,根本不用
原文链接:https://www.cnblogs.com/gaojinshun/p/10877468.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 04.Java基础语法 2020-06-11
- 1-Java基础回顾整理_01 2020-06-10
- 5月到6月程序员到底经历了和什么,工资狂跌***元,你是否也 2020-06-10
- Java基础语法菜鸟教程笔记 2020-06-10
- JSP+SSH+Mysql+DBCP实现的租车系统 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash