存档

‘Java’ 分类的存档

JSP基本语法C–JSP内置对象

2008年1月16日

Java中的对象必须先实例化再用:分配内存空间

在JSP中,由WEB容器对对象进行实例化

常见对象及作用域:

对象名 类型 作用域
request javax.servlet.ServletRequest的子类 Request
response javax.servlet.ServletResponse的子类 Page
pageContext javax.servlet.jsp.PageContext Page
session javax.servlet.http.HttpSession Session
application javax.servlet.ServletContext Application
out javax.servlet.jsp.JspWriter Page
config javax.servlet.ServletConfig Page
page java.lang.Object Page
exception java.lang.Throwable Page

!!最重要的概念:四种属性的保存范围

  1. 设置属性:Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute)  ★★属性名称为字符串、属性值可以为任意对象
  2. 取得属性:Public abstract Void setAttribute(java.lang.String name)

四种属性保存范围:

  1. 在一个页面范围内 :page
  2. 在一次服务器请求范围内:request
  3. 在一次会话范围内:session
  4. 在一个应用服务器范围内:application

page范围:

  • 在jsp中设置一个页的属性范围必须通过pageContext完成
  • pageContext属性范围是最为重要的JSP属性之一,但是如果使用纯粹的JSP代码开发,则此属性显示不出用处

request范围★:

  • 将属性保存在一次请求范围内的前提是,必须使用服务器端跳转<jsp:forward />
    • 应用点:MVC设计模式、Struts、Webwork

session范围:

  • 只保留一个用户的信息
  • 只要设置了属性,则不管是什么跳转都可以取得属性
  • 与session有关的任何打开页面都可以取得session
  • ★session的主要功能:用于验证用户是否登陆

application范围:

  • 只要设置一次则所有的网页窗口都可以取得数据
  • 如果要释放application资源只能重新启动服务器
    • 应用点:在线人员统计、在线人员名单列表

application、session、request都需要跨多个页

保持性能不降低的原则:若能用request就不不要使用session,能使用session就不要使用application

★★重要概念:

  • pageContext默认情况下表示一个页面的保存范围
  • 另一种设置属性的方法Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute,int scope)
    • scope可以取:Public Static final int APPLICATION_SCOPE、Public Static final int SESSION_SCOPE、Public Static final int REQUEST_SCOPE、Public Static final int PAGE_SCOPE
  • ★★总结:四种属性范围都是依靠pageContext展开的,但是在开发中,往往使用session、request范围最多。
    • 四种属性范围是整个J2EE WEB端开发必须深刻记住的概念,包括设置属性和取得属性的参数类型,返回值类型。

alex Java , , , ,

(三)JSP基本语法B

2008年1月12日

include指令: <%@include file="uri"%> e.g.<%@include file="hello.jsp"%>

  1. include命令可以包含任意文件,它包含的是文件的内容。但是在一个jsp页面中,只能有一组<html>、<head>、<body>
    • 原则:在开发中被包含的文件只写显示部分的HTML代码,主体代码不要出现
  2. 包含的时候不区分文件名称、后缀,只是将内容包含进来

包含语句<jsp:include>:

  1. <jsp:include page="uri" /> 或者 <jsp:include page="uri" flush="true"><jsp:param name="参数名称" value="参数值" /></jsp:include>
    • 若使用后一种语句可以向被包含的页面之中传递参数,如果是传递参数,则所包含的页面必须是JSP页面,必须是动态页面
    • 若包含的是JSP页面,则自动进行动态处理,若是非动态文件,则只是将内容包含进来
  2. 这种语句与HTML代码相似,称为标签指令形式
    • 标签指令形式代码必须完结 </XXX:XXXX>
    • 标签指令形式代码必须写在Scriptlet(<%…..%>)之外

<%@include file="uri"%>:只是将页面的内容静态的包含进来,若被包含的页面有JSP代码,则执行此代码而不管被包含的页面文件后缀如何                                          //  先包含后处理

<jsp:include page="uri"/>:若被包含的文件内容是静态的,则直接将内容包含进来,但是不处理,如果被包含的页面是动态的,则先执行,再把结果包含进来显示                  //   先处理后包含

两者的区别

  • <%@include%> :所有代码包含进来,一起进行处理,把所有代码合在一起
  • <jsp:include>:所有代码分别处理,处理完成之后再将代码的显示结果(处理结果)包含进来

跳转语句<jsp:forward>

  1. <jsp:forward page="uri" /> 或者 <jsp:forward page="uri" flush="true"><jsp:param name="参数名称" value="参数值" /></jsp:forward>
  2. <jsp:forward>也属于标签指令,使用也必须完结
  3. <jsp:forward>语句属于无条件跳转语句
  4. 使用此跳转语句,页面内容是进行了跳转,但是地址栏的地址没有变化,如果没有变化,意味着用户的请求依然没有改变,即<jsp:forward>属于服务器跳转

alex Java , , , ,

(二)JSP基本语法A

2008年1月11日

注释类型:

  • 显示注释:HTML注释,此注释发送到客户端
  • 隐式注释:JAVA注释,此注释不会发送到客户端

在JSP中可以使用三种注释:

  1. <!– 注释内容 –>
  2. <% //JAVA注释内容 %>或者<% /*多行内容*/ %>
  3. <%– JSP注释 –%>

声明语句:格式:<%!声明语句%>  举例:<%!String text="Hello World!" %>

  • 用此种方式可以声明全局变量、类、方法

表达式:格式:<%=表达式%>,用来输出值,类似于out.println();

  • 在实际开发中尽量少用out.println();输出而用<%=表达式%>,这么做的目的是达到HTML和JAVA代码的分离

脚本代码(Scriptlet):格式:<%代码段%>,用来写具体的JAVA代码或者声明局部变量

  • <%!  %>和<%  %>声明的变量区别是:<%!  %>只赋一次值

JSP是一种动态的WEB程序,必须有交互功能

HTML与服务器的交互主要途径是表单

JSP接受传递过来的参数的方法:String str=request.getParameter("参数名称");

所有的JSP代码最终都是拼凑出来的,不是固定的,由WEB容器拼凑出来的

form表单的提交方式:

  • post:提交的内容不会被显示,没有长度要求
  • get: 提交的内容会被显示出来,地址栏的长度只有4K~5K,大数据则无法显示

范例:打印一个表格,行数和列数由用户输入

阅读全文…

alex Java , ,

Tomcat设置

2008年1月10日

前言:前段时间学习了JAVA,主要是Stardard Edition部分,由于是自学看的不是太仔细只是了解了个大概,趁现在放假在家空余时间比较多所以想继续学下去,但是JAVA的知识体系实在是太庞大,所以只能一步一步来,所以这个寒假的主要任务就是学习下JSP,顺带巩固JAVA基础部分。由于自己看书实在是太枯燥了,所以我就在电驴上找了JSP的视频教程跟着学然后再照着练练巩固下,每天看两集,第二天写下学习笔记,这样希望能把前一天学的记住。

言归正传……(我装的是Tomcat 6.0.14版本)

Tomacat是一个WEB容器,所有的J2EE WEB程序可以在此处运行。常见的WEB容器还有WebLogic、WebSphere。

Tomcat的默认端口号是8080,这个数值可以在安装过程中修改也可以在conf/server.xml中修改。

Tomcat是根据系统的%JAVA_HOME%变量值选择系统中的JDK。

Tomcat目录主要文件夹作用

  • bin目录:存放启动和关闭Tomcat的脚本
  • conf目录:存放不同配置文件,其中比较重要的是server.xml(Tomcat的主要配置文件)和web.xml
  • work目录:存放JSP编译后的.class文件
  • webapps目录:存放WEB应用程序
  • lib目录:存放所有需要的各种jar包

配置Tomcat方式有两种:手工配置–修改conf/server.xml文件、管理控制台配置

  • 注意:修改server.xml之后要重新启动Tomcat服务器才能使配置生效

配置虚拟目录的要求

阅读全文…

alex Java , ,