导航:首页 > 编程语言 > jsp继承

jsp继承

发布时间:2023-08-29 12:52:37

jsp嵌套html代码,然后直接以html方式输出代码

直接以html方式输出代码,需要用servlet的out.print输出。

out对象的类型是JspWriter。JspWriter继承了java.io.Writer类。

1)print方法是子类JspWriter,write是Writer类中定义的方法;

2)重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据;

3)JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。例如:

下面的test.jsp文件

<% String str=null;

out.print(str);

//out.write(str);

%>
##################################
示例一、
<% out.print("<font color='red'>你好,world2!</font>"); %>
<% out.write("<font color='green'>你好,world3!</font>"); %>
浏览器输出结果:

㈡ 哪个属性可以指明编译JSP文件时所继承的类

Jsp包含三个编译指令和七个动作指令。
三个编译指令为:page、、taglib。
七个动作指令为:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。
一、编译指令
1、 page指令
a. 通常位于jsp页面的顶端,同一个页面可以有多个page指令。语法格式如下:
〈% @page
[language="Java"]
[extends="package.class"]
[import= "package. class I package. *},…"]
[session="true I false"]
[buffer="none I 8kb I size kb" 1
[autoFlush="true I false"]
[isThreadSafe="true I false"]
[info="text"]
[errorPage="relativeURL"]
[contentType="mimeType[ ;charset=characterSet]" I"text/html;charset= "808859-1"]
[isErrorPage=" true I false"]
%〉
1)language属性,一般情况就是java,代表jsp页面使用的脚本语言。
2)Extends属性,确定 JSP 程序编译时所产生的 Java 类,需要继承的父类,或者需要实现的接口的全限定类名。
1.import属性,用来导入包,下面几个包是默认自动导入的,不需要显式导入。默认导入的包有:
java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
2.Session属性,设定这个 JSP 页面是否需要 HTIP session 。
3.buffer属性,指定输出缓冲区的大小。输出缓冲区的 JSP 内部对象: out 用于缓存 JSP页面对客户浏览器的输出,默认值为 8kb,可以设置为 none ,也可以设置为其他值,单位为kb
4.autoFlush属性,当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true 时为正常输出;如果设置为 false ,会在 buffer 溢出时产生一个异常。
5.Info属性,设置该 JSP 程序的信息,也可以看做其说明,可以通过 Servlet. getServletInfo()方法获取该值。如果在 JSP 页面中,可直接调用 getServletInfoO方法获取该值,因为 JSP 页面的实质就是 Servlet 。
errorPage属性,指定错误处理页面。如果本程序产生了异常或者错误,而该 JSP 页面没有对应的处理代码,则会自动调用该指令所指定的 JSP 页面。使用 JSP 页面时,可以不处理异常,即使是 checked 异常。(重定向到对应的错误处理页面,但是URL还是原来的URl,并不发生变化)如果这个页面不存在这个属性,那么一旦代码出现问题,就会在开发环境和IE浏览器上提示错误。可见这条属性控制异常处理的效果在表现形式上要好的多。
6.IsErrorPage属性,设置本 JSP 页面是否为错误处理程序。如果该页面本身己是错误处理页面,则无须使用 errorPage 属性。
7.ContentType属性,用于设定生成网页的文件格式和编码方式,即 MIME 类型和页面字符集类型,默认的 MIME 类型是 text/html; 默认的字符集为 ISO-8859-1 。
2、 include指令
使用 include 指令,可以将一个外部文件嵌入到当前 JSP 文件中,同时解析这个页面中的 JSP 语句(如果有的话)。这是个静态的 include 语旬,不会检查所包含 JSP 页面的变化。
include 既可以包含静态的文本,也可以包含动态的 JSP 页面。静态的编译指令include ,是将被包含的页面加入进来,生成一个完整的页面。
include 编译指令的语法:
〈% @include file="relativeURLSpec" %〉
如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为它是动态的 include 语句。
包含include指令的jsp页面在部署后,经过访问编译生成java文件,在tomcat的 work\Catalina\localhost\project\org\apache\jsp目录下会生成对应的java文件,这些文件与jsp的名字相同,他包含了编译后的代码,甚至include包含的另外一个jsp的代码也被相应的加入了进来。
二、 动作指令
1、 forward指令:forward 指令用于将页面响应控制转发给另外的页面。既可以转发给静态的 HTML页面,也可以转发到动态的 JSP 页面,或者转发到容器中的 Servlet。
JSP 的 forward 指令的格式如下:
对于 JSP 1. 0 ,使用如下语法:
<jsp:forward page=”{relativeURL |<%=expression%>}” />
可使用如下语法:
<jsp:forward page=”{relativeURL |<%=expression%>}”>
{<jsp:param…/>}
</jsp:forward>
第二种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest 类的 getParameter方法获取。
2、 include指令,它是一个动态的指令,可以用于导入某个页面。它的导入会每次检查被导入页面的改变。下面是include指令的使用格式:
<jsp:include page=”{relativeURL |<%=expression%>}” flush=”true” />
或者:
<jsp:include page=”{relativeURL |<%=expression%>}” flush=”true”>
<jsp:param name=”paramName” value=”paramValue”/>
</jsp:include>
flush 属性用于指定输出缓存是否转移到被导入文件中。如果指定为剧。则包含在被导入文件中;如果指定为false,则包含在原文件中。对于JSP 1.1以下的旧版本,只能设置为false。
<include>和<jsp:include>分别为静态导入和动态导入。他们的的区别:静态导入是将被导入页面的代码完全插入,两个页面生成一个整体的 Servlet; 而动态导入则在 Servlet 中使用动态导入,从而将页面引入。
3、 useBean、setProperty和getProperty指令
这三个指令都是与JavaBean相关的指令,其中useBean用于在jsp页面初始化一个java实例,setProperty用于修改JavaBean实例的属性,getProperty用于获取JavaBean实例的属性。
useBean的语法格式:
<jsp:useBean id=”” class=”” scope=”page | request |session | application” >
Id是JavaBean的实例名,class属性确定JavaBean的实现类。Scope属性确定生存范围【页面、请求、会话、应用】
setProperty的语法格式:
<jsp:setProperty name=”” property=”” value=”” />
Name属性确定需要设定
4、 plugin指令
plugin 指令主要用于下载服务器端的 JavaBean 或 Applet 到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。
plugin 的语法格式如下:
<jsp:plugin type=”bean | applet"
code="classFileName"
codebase="classFileDiretoryName"
[name=" instanceName"]
[archive="URLtoArchive"]
[align= "bottom I top I middle I left I right"]
[heigh="displayPixels"]
[width="displayPixels"]
[hspace="leftRightPixels"]
[vspace="topBottomPiexels"]
[jreversion=JREVersionNumber|1.2"]
[nspluginurl="URLToPlugin"]
[iepluginurl="URLToPlugin"]>
[<jsp:parames>
[jsp:param name="parameterName" value="parameterValue" />]
</jsp:params>]
[<jsp:fallback>text message for user that can no see the plugin
</jsp:fallback> ]
</jsp:plugin>
这些属性的说明如下:
Type: 指定被执行的java程序的类型,是一个bean还是一个applet
Code: 指定被执行的文件名,该属性值必须以“.class”扩展名结尾
Codebase: 指定被执行的文件目录。
Name: 给该程序起一个名字用来标识该程序。
Archive: 指向一些要预先载入的将要使用到的类的路径。
Hspace,Vspace: 显示左右上下的留白。
jreversion: 能正确运行改程序必须的JRE版本。
Nsplugin,ieplugin: Netscape Navigator, Internet Exploer 下载运行所需JRE 的地址。
<jsp:fallback>指令:当不能正确显示该applet时,代替显示的提示信息。
5、 param指令
param指令用于设置参数值,这个指令本身不能单独使用,因为单独使用没有意义。它可以和以下几个指令合起来使用
jsp:include
jsp:forward
jsp:plugin

㈢ servlet和jsp之间的关系

1.JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
2.JSP编译后是"类版servlet"。
3.Servlet和JSP最主要的不权同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

㈣ JSP中要自定义空标签,需要继承什么类或实现哪些接口

自定义标记有2种 简单标签和传统标签
简单标记需要继承 javax.servlet.jsp.SimpleTagSupport
传统 javax.servlet.jsp.TagSupport
功能上说传统标签的能力要比简单的强大 但是使用很复杂 基本属于被淘汰状态.
使用自定义标记还有写 .tag文件

㈤ can't find bean preIndexForm in any scope

在动态ActionForm声明的时候,属性tpye的值是struts提供的org.apache.struts.action.DynaActionForm
struts会自动调用这个类来进行封装,所以只要在*.xml文件里配置好就可以了,不用再写一个继承ActionForm的类。

动态ActionForm的优点是:如果在页面上添加了一个request(例如:让用户输入信息的文本框)的话,直接改*.xml文件就可以了,而静态ActionForm就要再编译.java文件,重启服务器才能有效。

缺点是:不能在*.jsp文件中用EL语句了(${}),如果要在*.jsp页面上用到form的话,就要在Action类的execute()方法中进行强转:
DynaActionForm dForm = (DynaActionForm)form;

然后用DynaActionForm中的get()方法,方法中传<form-property/>标签中属性name的值来获得封装request的数据。如果页面多的话,代码量会非常的大,所以一般在实际项目中都不会用到动态ActionForm。

下面是一个例子:
作用是在struts-config.xml配置了一个动态ActionForm,然后通过Action类把form转发到页面上。

struts-config.xml的配置:
<form-bean name="dform" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"/>
</form-bean>

Action类中execute()方法:
DynaActionForm dForm = (DynaActionForm)form;
String dName = (String)dForm.get("name");
request.setAttribute("name",dName);
return mapping.findForward("view");

view.jsp:
${name}

㈥ 请问javaweb开发中的servlet到底怎么用的它就是一个java类吗,用继承它的类可以实现请求转发

首先要明白,JSP和Servlet都是位于服务器端,平时我们做开发,自己的机器充当了客户机和服务器的双重角色。在典型的MVC开发模式中,JSP充当了视图层,Servlet充当控制层,JavaBeen充当模型层。
每一个JSP页面一般都会对应一个Sevlet,(在web.xml中可以看到有关配置),JSP页面如果是以post方式发出请求给Servlet,就会调用Servlet中的doPost()方法,如果是以get方式发出请求,就会调用其doGet()方法,一般这两个方法只具体实现一个,可以在另一个方法调用有具体实现的那个方法。至于JSP页面是以get方式发出请求,还是以post方式发出请求,最简单的方式是看地址栏又没有像?name=xxxx&id=xxxx的键值对字符串,如果jsp网页中包含form表单,还可以看其method属性是get还是post,不过一般表单都是用post方式提交给后台Servlet。当请求传给Servlet时,同时也会把相关数据传过去,这样才可以在后台获取这些数据。一般使用request.getParameter()方法
由于Servlet是控制层,顾名思义,它当然可以控制请求的转发操作。使用request.getRequestDispatcher("xxx,jsp").forward(request,response)
就先说这些吧,要具体说挺多的。我也有段时间没弄这些了,可能有些单词没写对,不过不影响阅读,还有什么不明白的,继续问。

㈦ Java的类的继承中,子类与非子类是什么有什么区别

1. 继承,是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于可以抽取多类事物的共性。子类中有和父类中可访问(可继承到子类)的同名同返回类型同参数表的方法,就会覆盖从父类继承来的方法。
2.(1)standalone applications,或称为applications:可独立执行的程序
针对用户接口的不同,可分为:
a) console application
b) windows application
(2)embedded applications:嵌入式应用程序,必须依附在其它程序里执 行
a)applets:内嵌于网页并通过因特网传递,在用户端使用支持Java的浏 览器内动态地由服务器端下载并执行的小程序
b)JSP、Java Servelet:以网页的形式存在于服务器端并且通过网络下载 至支持Java的浏览器内执行
c)MIDlet:利用J2ME MIDP所开发而成,执行环境为移动电话及PDA等
d)Spotlet:利用J2ME CLDC所开发而成,执行环境为PDA等。
3.FlowLayout,流式布局管。尝试在一行中按增加顺序摆放组件,窗体大小改变时,组件位置会相应发生改变

BorderLayout,按方位进行布局管理,(North,South,East,West,Middle)不明确指定,就会默认加载在中间(Middle),每个部分只能放一个组件

GridLayout,网格布局,通过行列,间距,来用网格分割,把组件放入如网格中,先行后列摆放组件。可以保证每个组件的大小都是一样的

CardLayout,卡片布局,组件重叠放置。
GridBagLayout,组件可以跨行跨列的网格布局。

Frame的默认布局管理器borderlayout

Panel的默认布局管理就是FlowLayout

阅读全文

与jsp继承相关的资料

热点内容
瑞斯康达网络管理界面 浏览:254
ca证书管理器linux 浏览:358
苹果id安全提示问题3个字符 浏览:949
iphone上好的拍照软件 浏览:579
word内嵌文件怎么下载 浏览:864
8s16升级 浏览:340
计算机网络技术基础pdf 浏览:544
javafrom提交地址参数 浏览:721
git发布版本 浏览:728
vc修改文件名 浏览:149
linux65从域 浏览:321
用什么东西压缩文件 浏览:406
怎么删除ipad隐藏的APP 浏览:981
编程如何占用大量内存 浏览:116
多个excel表格文件如何组合 浏览:918
ubuntu内核升级命令 浏览:679
pgp文件夹 浏览:894
一键还原的文件是什么格式 浏览:581
女汉子微信名霸气十足 浏览:65
win10手机蓝屏修复 浏览:419

友情链接