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技术前因后果。

0 0
原创粉丝点击