重温JSP/Servlet技术之Jsp基础篇(详解一)
首先让我们先来认识一下Jsp:
Jsp全名为Java Server Pages,中文名叫java服务器页面。它实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
然后再了解一下jsp中几种编码的含义:
01.contentType="text/html; charset=utf-8"
解析:页面发送给浏览器的时候,告诉浏览器以什么编码显示数据
02.<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-6">
解析:如果是静态页面,就是告诉浏览器以什么方式显示数据,动态页面中无效
03.pageEncoding="UTF-8"
解析:当前jsp页面的编码方式,就是书写的jsp中可不可以有中文。
04.setCharacterEncoding
如果表单提交方式是post,设置读取请求数据的编码方式
如果表单提交方式是get,使用
new String(request.getParameter("txtname").getBytes("ISO-8859-1"),"utf-8")
05.setContentType: response.setContentType()
如过page指令中有了内容,那么setContentType,可以不用设置。
06.可以通过配置文件给所有web应用的get请求取消乱码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8" />
还有Jsp中的注释
1.<!-- 这是HTML注释 (客户端可以看到源代码) -->
2.<%-- 这是Jsp注释 (客户端不可以看到源代码) --%>
3.<% //使用预订格式将日期转换为字符串 %>
Jsp声明
<%! 声明部分 %>
接着是Jsp的脚本元素
1.小脚本
小脚本的编写方式是将Java程序片段插入到<%%>之中。
2.表达式
是对数据表示,系统将其作为一个之进行计算和显示。语法:<%=Java表达式%>
3.小脚本和表达式的综合应用如下面代码
这是求2000到2013共有几个闰年的代码
<%
int count=0; for(int i=2000;i<2014;i++){ if(findyear(i)){ count++; } } %> <%=count %>
然后是Jsp的三个编译指令:
> page :该指令是针对当前页面的指令。
> include :用于指定包含另一个页面。
> taglib :用于定义和访问自定义标签。
格式如下:<%@ 编译指令名 属性名="属性值"... %>
最后再让我们认识一下Jsp中的九大内置对象
内置对象又叫隐式对象/隐含对象是由WEB容器加载的一组类的实例,不需要预先声明就可以在脚本代码和表达式中随意使用的对象。
然后让我们给内置对象根据他们的特性分类,分别是:
1 输入输出:request,response,out
2 作用域之间通信:session,application,pageContext,(request)
3 Servlet对象:page,config
4 错误对象:Execpiton
接着是内置对象的详细说明:
Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。
Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等)
ut(Javax.servlet.jsp.JspWriter)用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。
pageContext(Javax.servlet.jsp.PageContext)描述了当前JSP页面的运行环境。可以返回JSP页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当前页面传输至其他页面的方法。
Session(javax.servlet.http.HttpSession)会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。
Application(javax.servle.ServletContext)存储了运行JSP页面的servlet以及在同一应用程序中的任何Web组件的上下文信息。
Page(Java.lang.Object)表示当前JSP页面的servlet实例
Config(javax.servlet.ServletConfig)该对象用于存取servlet实例的初始化参数。
Exception(Javax.lang.Throwable)在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@page isErrorPage=“true”%>