如何配置JDK和JSP
第一步:下载jdk和tomcat第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在c:\jdk1.6):JAVA_HOME=c:\jdk1.6classpath=. ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\bin接着可以写一个简单的java程序来测试JDK是否已安装成功:public class Test{public static void main(String args[]){System.out.println("This is a test program.");}}将上面的这段程序保存为文件名为Test.java的文件。然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.javajava Test 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c: \Tomcat):CATALINA_HOME: C: \TomcatCATALINA_BASE: C: \TomcatTOMCAT_HOME: C:\Tomcat然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。第三步:建立自己的jsp app目录1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;2.在webapps目录下新建一个目录,起名叫myapp;3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;4.WEB-INF下新建一个文件web.xml,内容如下:
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat 是一个轻量级应用服务器,在中小型系统和
并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java
基础类库。
JSP:动态网页技术标准在传统的网页HTML 文件( *.htm,*.html )中加入Java程序片段( Scriptlet )和JSP
标签,构成了JSP 网页(*.jsp)
JSP 的执行过程主要包括以下步骤:
客户端发出Request请求;2.JSP 容器将JSP 转译成Servlet 的源代码;3.将产生的Servlet 的源代码经过编译后,并加载到内存执行;4.把结果Response 响应至客户端。
一个JSP页面由以下4种元素组成:HTML标记、JSP标记、JSP脚本和注释。
JSP标记包括指令标记和动作标记。
JSP页面的执行过程
当服务器上的一个JSP页面第一次被请求时,Web服务器上的JSP引擎首先将JSP页面编译成Servlet,然后执行该Servlet。该Servlet主要完成以下2项任务:
(1)把JSP页面中的HTML标记交给客户端的浏览器去解释执行。
(2)把JSP页面中的JSP指令标记、动作标记、JSP声明、代码段和表达式交给服务器去执行,然后将结果送给浏览器。
声明块包含在<%!和%>中。包括变量声明、方法声明和声明类三种。<%! 变量声明%>
指令的语法形式为:<%@ 指令%> 指令主要包括:page 指令、include 指令和taglib指令。
page指令用来定义和操作许多重要的依赖于页面的属性;<%@ page attribute1 = "value1" attribute2 = "value2" attribute3 =… %><%@ page contentType=”text/html; charset=GBK”%>
在一个JSP页面中包括另一个文件,可以使用include指令。静态插入方式
指令的语法形式为:<%@ include file="relativeURL" %>
JSP动作标记是JSP页面中使用的一种特殊的标记,它利用XML语法格式的标记来控制JSP引擎完成某种功能。
常用的JSP动作标记包括:
include指令和include 动作区别:
(1)嵌入的内容。include指令嵌入的是静态的文本或页面,而include动作包含的可以是静态或动态内容。
(2)嵌入被包含页面的时间。include动作在处理请求时才将被包含页面嵌入进来,而include指令是在JSP文件被转换成Servlet的时候引入文件。
(3)共享局部变量。用include动作时,在页面中声明的变量不可用于另一文件;而在用include指令时,当前页面和被包含页面可以共享变量。
(4)修改的生效时间。用include指令时,修改的生效需刷新页面或去掉已经编译成的Servlet;而用include动作时,被包含页面的修改会随时生效。
(5)变量名冲突。用include指令时注意新生成的JSP页面要符合JSP语法要求,应该避免变量名的冲突。而用include 动作不存在变量名冲突问题。
使用
一旦JSP页面中加入
隐含对象功能:
不必使用表达式,直接存取out对象来打印一些东西到客户端: <% out.println("Hello"); %>
不必直接传送参数,可以借助请求对象来取得客户端输入的参数值: <% String name=request.getParameter("name"); %> 完成页面的重定向:<% response.sendRedirect(“/hello.jsp”);%>
在错误页面中显示出错信息:<% String st=exception.getMessage();%>
在JSP页面中,隐含对象request代表的是来自客户端的请求,通过它可以查看请求参数、请求类型(GET,POST,HEAD等)以及请求的HTTP头(Cookie,Referer等)客户端信息,它是实现javax.servlet.HttpServletRequest 接口的类的一个实例。
request 对象的方法有很多,从功能角度可以将这些方法分为4类:
表单的一般格式为:
response对象
当客户访问一个服务器的页面时,会提交一个HTTP请求,服务器接到请求时会返回HTTP响应。响应是实现javax.servlet.HttpServletResponse接口的类的一个实例。response对象代表的是对客户端的响应,可以通过response 对象来组织发送到客户端的数据。response对象的方法也有很多,下面的几个表列出了response对象的主要方法:setContentType() sendRedirect() setHeader()
out对象代表了向客户端发送数据的对象,通过out对象发送的内容将是浏览器需要显示的内容,是文本一级的。可以通过out对象直接向客户端写一个由程序动态生成HTML文件。它是javax.servlet.jsp.JspWriter类的一个实例。JSP 允许通过page指令的buffer属性调整out对象缓存的大小,甚至允许关闭缓存。
session对象:
HTTP是无状态(stateless)协议。客户端向服务器发送一次请求(request),服务器给与响应(response)后连接就关闭了。因此,当下一次连接时,服务器已经没有以前的连接信息了。
Cookie :利用Cookie对象来存储有关购物会话的信息,后继的各个连接可以查看当前Cookie,提取有关该会话的完整信息。
重写URL :把一些标识会话的数据附加到每个URL的后面,服务器能够把该会话标识和它所保存的会话数据关联起来。
隐藏表单域:通过表单的隐藏域维持会话
HttpSession API :Servlet提供的一种与众不同的方案。
HttpSession API是一个基于Cookie或者URL重写机制的高级会话状态跟踪接口。如果浏览器支持Cookie,则使用Cookie;如果浏览器不支持Cookie或者Cookie功能被关闭,则自动使用URL重写方法。Servlet开发者无需关心细节问题,也无需直接处理Cookie或附加到URL后面的信息。
session对象是javax.servlet.http.HttpSession类的一个实例,session对象使同一用户在访问Web站点时多个页面间共享信息。一个客户访问服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面或不断向一个页面提交信息等。服务器完全可以通过session对象知道这是同一个客户。
session对象的ID标识
客户首次访问服务器上的JSP页面时,JSP引擎产生session对象,并分配给它一个String类型的ID,并将其发送到客户端存入Cookie中,这样session对象和客户端之间建立了一一对应关系,客户在该服务器不同网页间转换或从其他服务器回到该服务器时,不分配给客户新的session,直到客户关闭浏览器,分配给客户的session对象被取消。保存和获得session对象中的数据是JSP页面常做的工作,需要使用getAttribute()和setAttribute()方法。
与Servlet 有关的隐含对象有两个:page和config。
page对象表示Servlet本身;它是this的同义词,表示JSP页面本身,是Servlet类的一个实例,就是转换后的Servlet 类,可以调用Servlet中的任何方法。它实现了javax.servlet.jsp.HttpJspPage接口。
config对象则是存放Servlet的初始参数值。config对象是javax.servlet.servletConfig 接口的实例,存储Servlet配置对象。
1.在aa.jsp中有行代码:
<% request.setAttribute(“Co.”,”jb-aptech”); %>
在bb.jsp中有行代码:
<% out.println((String)request.getAttribute(“Co.”)); %>
为了使得在bb.jsp中的如上代码可以显示”jb-aptech”,可以使用()发送。
A)在aa.jsp中使用