JSP技术基础
来源:互联网 发布:2016最新网络诈骗方法 编辑:程序博客网 时间:2024/05/16 13:44
JSP的基本概念
JSP声明:用于定义JSP中变量、方法以及静态方法。本质上说它与Java中定义一个全局变量、公共方法一样。JSP声明的变量和方法是可以在整个JSP页面中使用的。
JSP表达式:是将动态信息显示在页面中,常用书写格式为<%=变量或表达式%>。注意:通过客户端观看网页源代码,可以发现:JSP页面中HTML元素在源代码中均被保留,只有Java代码会有改变。
JSP指令: JSP指令包括:page,include, taglib。
page:用来设置JSP页面的属性和相关功能,常用书写格式为<%page attribute=”value”%>。page有多个属性,用的最多的是:
language:JSP页面使用语言,目前是Java,默认也是Java语言;
import:声明需要导入的包;
pageEncoding:设置页面的编码;
include:在标签处插入文件,可以是JSP,HTML, js等,与当前文件组合成新的JSP页面。
这边注意一点:include指定<%@include file=”URL”%>跟后面JSP动作<jsp:includepage=”URL” flush=”true”/>的关系:(1)include指令是由JSP引擎在编译时导入,而jsp:include动作是在页面被访问时导入的;(2)include指令会跟主页面一块被编译为一个Servlet类文件,而jsp:include动作包含的文件跟主页面是相对独立的两个文件,会编译出两个Servlet文件,所以效率上相对慢些。
tglib 指令暂时没整理(后面来补充)
JSP动作:JSP中一共有13个动作,其中<jsp:include>,<jsp:forward>, <jsp:param>使用相对较多,下面就这三个简单说明:
<jsp:include>: 常用书写格式为<jsp:includepage=”relative URL” flush=”true”/> ,其他前面已经说了,这里不在赘述。
实践出真知。
<jsp:forward>:常用书写格式为<jsp:forwardpage=””relative URL”> 作用是转发请求到另一个页面中去,在这过程中请求的参数会一起被转发到目标页面中去。在目标页面中通过request.getParameter(”**”)方法来获得参数进行下一步处理。
有两个情况提醒注意:(1)尽管页面发生跳转,但是在浏览器中地址依然为原来地址,请求具有隐蔽性。(2)<jsp:forward>里的URL只能是同一个Web应用里的文件。
<jsp:param>:书写格式<jsp:paramname=”参数名称” value=”参数值”>
第一段代码:注意<jsp:include>的用法,和其中防止中文乱码,做的调整
<span style="font-size: 10px;"><%--HanChun at XiDian University--%><%--MyJsp1.jsp--%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%request.setCharacterEncoding("utf-8");//页面传递参数编码方式,不设置可能会出现乱码问题 %><html> <head> <title>WELCOME TO JSP</title> </head> <body><jsp:include page="SubMyJsp1.jsp"><jsp:param value="红烧肉" name="最爱吃"/></jsp:include> </body></html></span>
<%--HanChun at XiDian University--%><%--SubMyJsp1.jsp --%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%String cai = request.getParameter("最爱吃"); %><html> <head> <title>WELCOME TO JSP</title> </head> <body><%="最爱吃的菜:"+cai%></br> </body></html>
页面结果:最爱吃的菜:红烧肉
第二段代码:注意<jsp:forword>和<jsp:param>的用法,和其中防止中文乱码,做的调整
<span style="font-size:10px;"><%--HanChun at XiDian University--%><%--MyJsp2.jsp--%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%request.setCharacterEncoding("utf-8");//页面传递参数编码方式,不设置可能会出现乱码问题 %><html> <head> <title>WELCOME TO JSP</title> </head> <body><jsp:forward page="SubMyJsp2.jsp"><jsp:param value="红烧肉" name="最爱吃"/></jsp:forward> </body></html></span>
<span style="font-size:10px;"><%--HanChun at XiDian University--%><%--SubMyJsp2.jsp--%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%String cai = request.getParameter("最爱吃"); %><html> <head> <title>WELCOME TO JSP</title> </head> <body><%="最爱吃的菜dfgd:"+cai%> </body></html></span><span style="font-size: 14px;"></span>
页面结果同上
补充解释一些HTML基础知识:
头meta信息,是指在HTML页面中存在于<head></head>之间的信息常见如下:
<meta http-equiv="pragma"content="no-cache">
设定禁止浏览器从本地缓存中调取页面内容;
<meta http-equiv="cache-control" content="no-cache">
请求和相应遵循的缓存机制策略;
<meta http-equiv="expires" content="0">
设定网页到期时间,一旦到期必须从服务器上重新调取;
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
设定像搜索引擎说明网页关键字;
<meta http-equiv="description" content="This is my page">
设定像搜索引擎说明网页主要内容;
JSP内置对象:
内置对象是说,JSP页面使用前不需要声明他们,可以拿来直接使用。有七个内置对象分别是:request, response, session, application, out, page, config;需要说明的是,这部分知识看书是没太大用的,有个大概印象就好。具体开发中遇到了,查阅手册,其实更准确说,用多了,用熟了,就那几个。
request对象:
可以简单这样理解,用户请求访问一个页面,就会产生一个request对象,这个实类中包含客户请求的所有数据。服务器端就可以通过request对象来获取到客户端发送的信息,如IP地址,传递的参数,服务器主机名称等等。
response对象:
前面说的request对象,与此相应response是服务器端像客户端回应的实类。
session对象:
session对象用的非常多。我们知道HTTP协议是无状态的协议,每次用户接收到服务器相应后他们之间的连接就关闭了。这是,session就起了关键作用。注意两种Cookie概念很重要。
application对象:
application对象实现的接口为javax.servlet.ServletContext,它的生命周期从application对象的创立到应用服务器关闭。可以把它理解成是Web应用程序的全局变量,理所当然,服务器关闭,其中保存信息也就消失了。
out对象:
它包含了很多io流中的方法,用的比较多的是输出内容到HTML中。
page对象:
page对象代表的是当前JSP页面本身。
鉴于文章太长,下面单独出一篇文章《典型注册页面JSP实现》,详细的分析下JSP技术前因后果。
- jsp技术基础
- JSP技术基础
- JSP技术基础
- jsp技术基础
- JSP技术基础概念
- 【JSP Web】01 JSP技术基础
- Websphere 入门基础 第五课 JSP技术
- 基于JSP的分页技术基础
- java基础-动态界面技术(JSP)
- 基础篇 4. 深入JSP技术
- JSP编程技术基础1-JSP运行环境的配置
- JSP及Servlet相关基础技术 学习笔记
- JSP技术
- JSP技术~~~~~~~~~
- jsp技术
- 技术jsp
- JSP技术
- JSP技术
- Ruby中的语句中断和返回
- 自定义JSTL标签
- org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:
- WIN7x64+VS2013+OpenCV2.4.11+CUDA7.0配置操作说明书(题目真无聊....)
- 一个LINUX狂人的语录
- JSP技术基础
- maven创建多模块项目+springMVC+mybatis
- 2015061808 - 代码审查的必要性
- 可变参数的add函数的实现: int add(int argc, ...){}
- Vector如何释放内存呢?
- 再开一篇关于C++程序设计基核心之一:引用,指针,符号优先级,函数参数传递
- 虚拟机
- 2015061809 - 警醒
- JS - 关于改变Javascript的作用域链