JSP初学总结
什么是jsp?
-
jsp页面实际上也是一个htnl页面,只不过它包含了产生动态网页内容的java 代码,这些代码可以是java Bean.SQL语句等等.
-
在jsp页面中,动态内容与静态内容相互分离,实现界面与业务逻辑的分离,从而使jsp代码的高度复用.
jsp的优势
-
开发简单,跨平台,高效率和高性能,低成本
jsp执行顺序
-
首先客户端向web服务器提出请求,然后JSP引擎负责将页面转化为Servlet,这个Servlet经过虚拟机编译生成类文件,然后再把类文件加载到内存中执行,最后由服务器将处理结果返回给客户端.
jsp的基本语法
-
1. 注释
-
<!-- 注释内容会在浏览器中显示 -->
-
-
<%-- 注释内容不会再浏览器中显示 --%>
-
2. 声明
-
<%! 变量定义/方法定义/类 %> jsp声明的结尾和java一样用 " ; " 结束,可以一次定义多个变量,利用","分隔.
-
<%=变量或者表达式%> jsp表达式作用是将动态信息显示在页面中
-
-
3. 指令
-
<%@ page attribute1="value" [...attribute2="value n"] %> page指令用来设置jsp页面属性和相关功能
-
<%@ include file="url" %> include指令是在jsp页面生成Servlet时引入需要包含的页文件
-
<% taglib uri="tagliburl" prefix="tagPre" %> 用户可以自定义新的标签在页面中执行,现在比较流行JSTL,EL标签
-
-
4. 动作
-
<jsp:include page="relative URL" flush="true" >
-
jsp:include也可以换成include,但是两者还是有区别的,首先,jsp:include动作是在页面被访问时导入的,而include指令是由jsp引擎在编译时导入的;其次,在include指令中,被包含的文件会同主页面一块被编译为一个Servlet类文件,而jsp:include动作包含的文件跟主页面会是相对独立的两个文件,在编译时会被编译成两个Servlet类文件,因此jsp:include在效率上稍微慢些.
-
-
<jsp:forword page="relative URL" >
-
作用是转发请求到另外一个页面中,在请求过程中会连同请求的参数数据一起被转发到目标页面中,目标页面通过request.getParameter()方法获得参数值进行进一步处理. 而且相对于请求者而言,所看到的响应仍然是原先请求的页面给出的,请求者并不会获得转发后的页面地址,因此相对来说,请求具有隐蔽性.
-
-
<jsp:param name="参数名称" value="参数值" >
-
用来传递参数信息,他经常与其他动作一起使用,用于传递主页面的参数到目标页面
-
-
-
5. 内置对象
-
request对象, 用户每访问一个页面,就会产生一个HTTP请求,这些请求中一般都包含了请求所需的参数值或者信息,如果将request 对象看作是客户请求的一个实例,那么这个实例就包含了客户请求的所有数据,因此可以通过request来获取客户端和服务端的信息.
-
response对象, 当用户访问一个页面时,就会产生一个HTTP请求,服务器做出响应时调用的是response响应包.response响应包实现的是接口 javax.servlet.http.HttpServletResponse.
-
session对象. session对象可以用来判断是否为同一用户,还可以用来记录客户的连接信息等
-
application对象, 实现的接口为javax.servlet.ServletContext,它的生命周期是从application对象创建到应用服务器关闭,也就是说当服务器关闭时application对象才会消失,可以将它视为Web应用的全局变量,当服务器运行时有效,如果关闭服务器,其中保存的信息也就消失了. 用法和session相似
-
out对象, 继承的是javax.servlet.jsp.JspWriter类的一个输出流对象.它包含了很多IO流中的方法和特性,最常用的方法就是输出内容到HTML中
-
config对象, 实现了javax.servlet.ServletConfig接口,他一般用于在页面初始化时传递参数.
-