经典技术回顾和借鉴-JSP编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典技术回顾和借鉴-JSP编程相关的知识,希望对你有一定的参考价值。
经典技术回顾和借鉴-JSP编程
前言:在CGI(通用网关接口)编程风行的日子,人们纷纷寻思简化并让其更加灵活的新方法和新技术,包括php、JSP、ASP。1997年SUN公司推出了servlet,1999年初,SUN公司推出了JSP,实际上在servlet基础上修改而成。JSP即Java服务器页面(Java Server Page),将html和JAVA代码使用某种方式结合起来,完成前后端的有效交互。
1.从实例项目入手
其实,从现在看来JSP依然极具魅力,据了解很多JSP老项目还在维护。下面使用STS作为IDE构建一个实例项目,先体验其效果。
1.1 动态web项目模板
如下图,使用new dynamic web project创建项目:
1.2修改文件编码
进入preferences修改JSP文件的编码:
1.3 编写简单的JSP文件
新增一个JSP文件到WebContent目录,如下
然后检查并修改编码,应该都是UTF-8,如下图:
如果不是,就修改。
1.4运行和测试
选中项目名称,点邮件菜单的Run as ...-->Run on server
之后出现如下界面:
若没有现存的tomcat server,就自己加一个。点Finish。然后自动调用chrome,界面如下:
自动调用浏览器设置的地方是windows-->Web browser菜单:
1.5增加功能:显示IP地址
(1)显示ip地址:getRemoteAddr
(2)变量声明<%! %>
(3)表达式<%=%>
2.JSP语言介绍
2.1语法
语法 | 描述 |
<%-- 注释 --%> | JSP注释,注释内容不会被发送至浏览器甚至不会被编译 |
<!-- 注释 --> | HTML注释,通过浏览器查看网页源代码时可以看见注释内容 |
<\\% | 代表静态 <%常量 |
%\\> | 代表静态 %> 常量 |
\\ | 在属性中使用的单引号 |
\\" | 在属性中使用的双引号 |
2.2指令
指令 | 描述 |
<%@ page ... %> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include ... %> | 包含其他文件 |
<%@ taglib ... %> | 引入标签库的定义,可以是自定义标签 |
2.3Page指令属性
属性 | 描述 |
buffer | 指定out对象使用缓冲区的大小 |
autoFlush | 控制out对象的 缓存区 |
contentType | 指定当前JSP页面的MIME类型和字符编码 |
errorPage | 指定当JSP页面发生异常时需要转向的错误处理页面 |
isErrorPage | 指定当前页面是否可以作为另一个JSP页面的错误处理页面 |
extends | 指定servlet从哪一个类继承 |
import | 导入要使用的Java类 |
info | 定义JSP页面的描述信息 |
isThreadSafe | 指定对JSP页面的访问是否为线程安全 |
language | 定义JSP页面所用的脚本语言,默认是Java |
session | 指定JSP页面是否使用session |
isELIgnored | 指定是否执行EL表达式 |
isScriptingEnabled | 确定脚本元素能否被使用 |
2.4行为标签
行为标签语法:<jsp:行为名称 attribute="value" />
语法 | 描述 |
jsp:include | 用于在当前页面中包含静态或动态资源 |
jsp:useBean | 寻找和初始化一个JavaBean组件 |
jsp:setProperty | 设置 JavaBean组件的值 |
jsp:getProperty | 将 JavaBean组件的值插入到 output中 |
jsp:forward | 从一个JSP文件向另一个文件传递一个包含用户请求的request对象 |
jsp:plugin | 用于在生成的HTML页面中包含Applet和JavaBean对象 |
jsp:element | 动态创建一个XML元素 |
jsp:attribute | 定义动态创建的XML元素的属性 |
jsp:body | 定义动态创建的XML元素的主体 |
jsp:text | 用于封装模板数据 |
使用bean是最好用的行为标签,例如,我们创建一个java类:
然后,在JSP中使用useBea/setProperty/getProperty三个行为标签:
测试:
2.5隐含对象(默认创建的对象)
对象 | 描述 |
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
2.6判断语句
判断语句包括两种:if else和switch case
示例如下:
2.7循环语句
循环语句包括两种:for和while
示例如下:
2.8运算符
类别 | 操作符 | 结合性 |
后缀 | () [] . (点运算符) | 左到右 |
一元 | ++ - - ! ~ | 右到左 |
可乘性 | * / % | 左到右 |
可加性 | Java并发编程:多线程与并发原理回顾 |