CSDN 论坛 2005
上传下载
在JSP中如何使用SmartUpload下载?
怎样用程序限制用户只能用浏览器来下载东西
请教使用ENCTYPE='multipart/form-data'后取得其中文件名和路径的办法?
求救,jspsmartupload上传大文件为什么老是不行出错?
用servlet下载文件时,总是将文件直接显示到浏览器内,而不弹出对话框?
如何用jsp实现上传文件的功能?(菜鸟散300分)
一个上传的bin
困扰好久了还是没有解决!!下载头信息的设置!!!!一定加分
我现在正编写一个上传程序,当多用户(〉=2)同时上传数据(数据量较大)时就会发生..
上传图片到数据库的问题
如何将一个文件夹里所有的内容拷贝?
软件下载问题,高手请进!
如何实现文件上载功能?
关于jsp保存文件到服务器
java,jsp,javascript中如何实现将统计表格保存成excel文件?
SmartUpload程序下载及如何利用SmartUpload实现网站中文件上传.下载的功能???
两页面传值request.getParameter()为null值 - 把ENCTYPE="multipart/form-data"去掉
用jspsmart上传图片到oracle,图片大小受限
Tomcat4(Tom) 请进:我想if ((myFile.getSubTypeMIME=="gif")
数据库操作
有关jsp远程调用sqlserver2000数据库的问题。
JBX+WEBLOGIC8.1+MSSQL整合问题
如何得到表中一列值的最后一个:
jsp中如何与数据库sql server2000连接?
MS SQL Server JDBC错误,error establishing socket?SQL Server的认证配置问题,请用混合认...
JDK+TOMCAT+MYSQL问题--------------高分求助!进行JDBC连接
jsp中如何操作Access数据库?
如何将数据库表中每个字段的字段描述在JSP文件中显示出来?(SQL Server)
数据库备份与恢复问题??
jsp怎么通过jdbc连接db2数据库?
JSP连接Oracle小程序。
jsp中如何连接sql server数据库?
定制的表单,提交后填写的内容怎样才能保存到数据库
全部的分数了!就为了问着个题目啊
关于jsp页面中检索数据库,返回查询结果的问题!
insert into问题!在线等!
到指定时间,程序能自动运行
JSP写入数据库的中文乱码问题 环境: Windows 2000 Sever 中文版 sp3 JDK...
请教关于下拉列表的动态对应问题
数据库连接问题
我想把execl中的数据插入到mssql数据的某个表中,急用
55555…………我到底错在哪里???天哪!!!
求助:关于jdbc写入数据的问题
mysql 连接的问题,急~~~~~~
请教:下载的mysql数据库驱动程序mm.mysql-2.0.4-bin.jar应该放在哪个目录下?如何定位?
请问如何不用ODBC直接连接ORACLE81?
JSP网站中,如何将图像插入数据库,又如何查询图像?(求救)
请高手指点一下(在线等待)
不配置ODBC数据源,用JDBC-ODBC桥连接Access数据库
如何查询两个时间值之间的数据
tomcat 下的DataSource 问题
java.sql.SQLException: ORA-00600: 内部错误代码,参数: [ttcgcshnd-1],
如何连接SQL server2000?
在jsp中,DataSet在哪个包和类中?
jsp+javabean关于多条SQL语句合并的问题
牛人们:从连接池中得到的数据库对象,可以复用么?
mysql中的日期转换问题,请帮忙(在线)
Apache和tomcat整合问题:LoadModule takes two arguments, a module name and the name of...
MySQL中的DateTime型字段,怎么取出,取出后一般怎样转换成java的日期对象?
JSP通过Bean访问Access的.mdb文件失败,不知何故。
连接池的使用问题!!紧急!
能不能教我怎么用JSP连接MySQL?
新手,请教一个java在数据库中编程的问题
怎样实现对weblogic7.0提供的connection pool的调用?哪位大大进来指点一二?有实例最好!
100分求,如何在网页里显示大对象数据
select max(ID)的一个奇怪问题
关于用jdbc-odbc操纵access2000数据库,String sql="create table btm(xwbt char(50),xwcn ...
很菜的问题,恳求帮助!
大家帮我找错啊(关于:No ResultSet was produced错误)(附源码)
javaBeanz中与数据库建立连接报这个错误。什么原因呢?在线等待!
Jsp文件中引入*.java文件时的问题,请帮忙,急!
在jsp环境下,如何将一个word文档从客户端存入SQLSERVER数据库的一个字段中!
用JDBC连接Sql Server失败,请帮我解决,急!
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'lucker' 无效
刚接触JSP,求一段代码,请帮我解难,谢谢!
报错:sqlserver 2000,无效的游标状态
请教jsp、sqlserver200的问题,急!
JSP连ACCESS用不用当什么驱动?
数据查询显示的问题。
请问这是什么错误???
请问能不能使用jsp在mysql数据库中创建一个新的数据库?
请教如何设置各种身份的人的不同权限
急,JSP和MySQL连接问题,分可以多给!!!!!
如何写javabean程序连接oracle
sql语句的写法
又是一个有关数据库的问题,请大家帮忙:)
我对数据库的更改怎么没反映呀?大家帮我看看~
tomcat+sql问题--从页面提交两个值插入数据库出错。刚学别笑。
jsp中如何写事务??谢谢
再次请教JDBC的有关问题??????紧急!!!!!!!!!!!!11
请教各位高手,数据库连接到底能有多大的资源消耗? 1.如果我每次使用数据库都重新连接一次...
有关Oracle数据库的JDBC测试程序
什么情况下需要用连接池?那位大虾给将一下??最好举个例子!!
请问现在用的最多的JDBC驱动程序是什么啊(支持ORACLE数据库,WINDOWS,LINUX平台)
导表程序(100分)
关于在javabean中执行sqlserver创建临时表的存储过程的问题?没有人遇到过吗?
这个问题,困扰我很长时间了
用户登录程序中编译错误!在线等待!!!
执行ResultSet的 executeQuery 方法时出的错!
我的session check好像有问题。可以直接进入main.htm。--在线等
我使用直接update修改的话,还是会报错(急死我了)
急急急-关于数据库纪录的修改
在线等待:tomcat4。1+db2配置
如何向oracle库中字段类型是date的添加数据
结果集嵌套问题?
从mysql数据库中取得的数据排序问题~
关于jsp和数据库sql的连接?
再讨论:连接池的问题
Microsoft JDBC连接问题
jdbc的问题:
怎样把jpg或者gif格式的图片保存到sql server 2000中啊?
数据库中字段id递增问题?---在线等待
循环显示的记录在不同的行显示出来,怎么实现??请帮我看看!!!!在线等待!!
if(!rs.next())表示数据库中无此纪录,还是没有下一条纪录
门外汉!怎样取数据集中的第n条纪录?有没有相应的函数?谢谢!
高手教我-关于数据库数据的删除(在线等待)
向数据库写blob类型的数据,出现找不到文件的错误
怎么用jsp向oracle8提交长字符(15000字左右)?
JSP插入access问题--这是为什么?
关于 时间处理问题,在线等待。
如何返回查询结果ResultSet中int类型的数据
请问如何在Java中执行SQL的块语句?
如何用weblogic自带的jdbc驱动(不通过jdbc-odbc桥)连接sql7.0
讨论如何高效实现分页。
请问:jdbc与mysql如何连接?
连接池出错:Can not read the properties file; Make sure db.properties is in the Class...
(高分)求解关于getString()
insert into 求解!
请给小妹妹一段完整的连接access数据库jsp代码(准确无误的),谢谢!
JSP如何写和读大字段
如何判断一条sql(update,delete)语句是否执行成功
如何用jsp读取数据库中的二进制图象
tomcat4.1下用jndi连接sql server2000出现问题!!!在线等待
应用服务器使用
现在在公司遇到一个解决不了的页面缓存问题,在线等到下班,谁解决谁100分
localhost无法识别
关于weblogic中servelet的问题(大虾帮忙!)
请问如何使用weblogic中的连接池?
让resin不列目录
TOMCAT4.X配置说明
jsp后缀名大小写问题(急,在线等!)
请问:如何让tomcat在win2000启动的时候自动启动
关于tomcat配置文件
tomcat 3.3 + iis 下如何配置虚拟主机(host)
关于TOMCAT配置问题,哪位能指点一下!!
菜鸟问题,见笑了!
jakarta-tomcat.zip 与 JDK1.3.1.exe解压后需要安装吗?
急!!tomcat启动时错误:java.net.BindException: Address in use: JVM_Bind?
jsp环境配置
tomcat 根目录泻露如何防止?
一个jsp很奇怪的问题
怎么提高主页显示的速度
apache1.3无法连接mysql,在线等待!
请教各位:只安装TOMCAT而不搭配apache一起使用,在性能上有什么差别
jdk1.3+tomcat4.0.3+win2000 server family下的问题?100分快来拿
导入bean出问题
2000下安装resin。在线等侯!!
IIS5.1和TomCat4.1.12完美结合(英文文章)
Tomcat和iis配合使用动态联结文件
关于javaBean的问题,高分请教~~
请问在tomcat4.12下如何设置虚拟目录!
如何将resin从win2000的服务中删除
在Apache+Tomcat+jdk中找不到类,如何添加JAR文件?
请教,怎样实现IIS和resin 整合?
tomcat4中怎么样将一个war发布到"/"下面
怎样在tomcat里建虚拟主机,高分相送
欢迎讨论:JSP+SQL Server+Apache建立一个Web服务器有什么值得注意的问题?(之二)
如何发布基于tomcat4的加密ssl协议http://的网站
页面长时间等待的结果及问题
我刚学java,对包和类路径搞不清楚,请各位高手帮忙解答小弟的一些问题,多谢了
类似邮箱中,一次删除多个选中邮件的jsp代码该如何写,指点一下,谢谢
如何知道Java调用的文件的相对路径是什么?
关于搭建jsp服务器的问题
我的Servlet运行了两次吗?
超级菜鸟问题,不要打我!一定要打的话,不要打脸!谢谢!-->如何在Tomcat中设置虚拟目录...
Tomcat3(or4)的一个安全问题
server.xml和web.xml的配置问题
Tomcat4.18站点配置问题种种
为什么我的SERVLET在FORM中提交可以找到,而在URL中找不到?
散分求解tomcat首页问题
怎样让Servlet或JSP在服务器启动时、指定时间、启动后一直运行!隔一段时间自动运行!!!!...
将resin作为win2000的一个服务
哪儿可以下载resin
如何在Win2K中配置IIS+Resin?
resin如何禁止目录访问啊
配置Tomcat虚拟路径中拒绝目录列表的问题?
如何去掉tomcat服务器运行时的IE地址里面的:8080?直接输入IP地址即可以访问?
那个兄弟知道在哪能WEBSPHERE APPLICATION SERVER 4。0(WIN)
哪里有Weblogic中文帮助文件??
JBuilder5 + Weblogic 6.0 安装配置全攻略
tomcat+apache怎样配合?
tomcat5中如何把根目录配置到别的路径?帮定有分~
调试servlet时,每次做改动都要编译后重启jboss,有什么方法可以不用重启jboss?-把你的web....
tomcat中关于更新类后重启服务的问题?
[apache+resin] http:\\localhost\test.jsp 不能运行 ---肯定送分 网上发布的许多配置都...
如何读取cgi变量
讨论:调试jsp程序的经验!
Tomcat显示路径下全部文件的问题
tomcat3.22下,我在一个JSP页面中include了一个文件,为什么include文件的汉字都成了乱码?...
怎样让IIS支持JSP技术?
请问apache如何设虚拟目录,象tomcat的Context?
jdk1.3+tomcat3.2+IIS5.0如何配置在IIS中运行jsp
请教能能用一个tomcat起两个服务,
请问如何让jbuilder与weblogic联合编程?
resin+iis整合后bean应该放在哪里?
乱码问题
为什么我插到表中的中文显示出来是乱码?
为什么不正确显示汉字?
中文显示不出来
jsp中向英文版的sql中写中文数据,出来是乱码,有解决方法吗?
为什么在weblogic5.0上jsp程序中写中文运行后出现乱码?
为什么中文汉字有乱码的现象(Jrun)
该死的中文显示问题,帮帮忙,数据库内容显示乱码
N怪的问题:在Struts中,通过*.properties文件取得的中文内容是乱码?-native2ascii name.p...
stmt.executeUpdate(s);插入的是乱码
linux下 tomcat 乱码问题(急,在线等待)
eclipse不显示中文?????
如何判断字符串中有中文!
tomcat4.X 中的html显示为乱码!为什么?
JBuilder编辑JSP问题
有关SQLServer2000的乱码问题,再次请教各位??
jsp中文乱码问题。
乱码!!!!tomcat4.1下的乱乱乱乱乱乱乱乱乱吗!!!!
乱码问题(在线等)
变量传递与获得
如何在JSP页面中的Java代码和JavaScript代码中通信?
有关http文件头,立即结帐,谢谢!
jsp中怎样实现两个页面间的数据传递???
jsp提交参数的时候,如果参数值里面有?和=怎么办
请教高手:Jsp在页面间如何传递“数组”?
怎样不允许两人用同一用户同时登陆??
一个连接的问题
不能显示中文文件夹的文件,请大侠指教!!!!!!!
请教jsp中传输中文参数问题 ----------------------------------------------------------...
请求急救:我的jsp程序用户登录不安全。
response.setHeader()方法设置http文件头的值,请问http文件头有些什么值?
问在JSP中截取字符串的方法?
很急的问题.如有简单的方法,立即送分.up有分~~快来看看
怎样实现下面的效果:在页面a中点击一个钮后弹出另外一个页面b,在b上也有一个按钮,点击那...
session.getAttribute取道得值对于不同的浏览器(连接)是一样的吗?
请问,最近看到有些站点是这样传递参数的article.html?id=116 ,这是怎么实现的啊?
session.getAttribute("id")对象怎么变成String类型?
数组的传递问题
JSP如何返回上页URL
session中可以保存何种对象?-任何对象,不能把bean放在jsp的包下面,编译通过了也找不到包...
UTF8编码的网页,里面的<a href="edit?sn=11&name=sss /> &号被认为是两个位,不能分解...
如何在jsp页面中传递数组
向数据库中插入一个时间记录,要求从年精确到秒,什么格式?
参数带加号!
在Java中如何得到本地IP和服务器的机器名???
如何在form中添加隐藏变量?
语法与技巧
怎样得到给定任意一周是从哪天开始,哪天结束的?
新手请大家帮忙100分!!!!急急!!!
100分紧急求救!在线等待一个小时!!如何在页面隐藏菜单工具条。。。
为什么我的bean找不到?(都有分)
jsp中如何调用应用程序?(*.exe)
怎样才能让文字数量大于一定数的时候显示……(省略号)?
jsp刷新的问题,急救!!
请问高手,怎样可以获得图片的长和宽?
挑战高手!!!!答题者均有分
如何做到不刷新整个页面更新表格
如何判断剪贴板是否为空,从而来决定paste菜单是否能用?
jsp页面上有对一个表的几个字段进行维护的功能,具体有,新增,修改,删除,这几个功能都是...
如何在jsp中动态包含一个jsp文件?
请教关于javabean中package的几个不明之处?
关于关闭窗口的问题。
在线给分:在jsp页面内部能不能定义字函数或者类来调用
请大家看一看呀~~我这是哪里错了呢??---必须要手动刷新jsp才看见作了删除?
jsp的文本文件的虚拟路径,加分...
JSP最新难题??
○●关于textarea中换行的问题。●○
如何保护你jsp代码?
选时间的控件
java文件复制
如何在页面中的文本筐中检查键盘事件?
一个小问题?请教
使用POI读取excel的问题
刚学JAVA,需要帮助!!!!!!!!
怎样才能取得服务器端的环境变量信息!
执行存储过程是这样的吗?conn.prepareCall("{call procedure_name(?,?)}");
请教:怎样获取文件的修改时间?
关于replaceAll()的使用?
JSP页面中如何显示javascript中的变量?
请教一个JSP中关于跳转页面的问题
字符串截取问题
(初学)表单参数传递给servlet,及表单的ACTION=""参数问题及web.xml里面的<servlet>与...
在jsp中如何将字符型转换成整型?
JSP中request.getParameter()和session.getAttribute()有何区别
关于异常在Web工程里面怎么设计的问题。
非常简单的数据类型转化问题??在线等待!!!
一个关于Cookie的问题,请大家帮忙
怎样替换回车符为<br>
有个小问题。关于参数的
jsp里的两个下拉框联动的问题!(100分在线等待)
jsp 格式化数字
compareToIgnoreCase的返回值的问题
问一个截取字符串的问题
?100分求jsp树原代码 最好是从数据库中动态生成的。急
有关利用param指令传值的讨论
如何在JSP页面上执行一个EXE文件
如何结束jsp页面的输出。
怎样在超连接(或图片)上实现FORM的功能?
jsp与tomcat合作
请教,下拉列表框的问题
如何防止一个ID在不同的机器上同进登录?
如何将word调到页面上,tomcat里如何配置,急!!!!!!
关于JSP转向的问题?
一个连接SQLServer数据库的问题!急!!!!
如果限制float小数点后面的位数?
怎样只去掉一段字符串末尾的空格?
如何利用一个1-12之间的数字来得到该月份的天数?立等!多谢!
关于在jsp中用javascript!help!!
string相等的问题
明天就要交活了,还差一个功能没有实现,高手们帮忙呀!!!!!!!
高分请教两个问题
如何得到一个字符的ASCII码值?在线等侯!!!
关于out.flush();的问题
请问高手:web中如何把多选的select表单中的数据提交到servlet中?(在线等)
如何获得提交页面的url?
JSP中怎样实现ASCII的操作
计数器的问题!
一个简单的问题!答对者马上给分
关于java.util.Date()的输出
写的一个类,在JSP中引入时总是说找不到,什么原因?
jsp页面中重复点击的问题
怎样动态配置网站的用户界面
根据application能取servlet中的所有session吗?
请教:在Jsp怎样获得当前日期的:Year ,Month ,Day
论坛设计中,关于防止用户发含有HTML贴子破坏论坛结构的方法的讨论!!!
有没有让页面失效的方法
500分!!请教jsp页面打印的问题!
鼠标经过表格时,表格的记录颜色变化,如何每条记录定义onclick事件?
关于登陆密码--高首赐教 在线等待
在if中使用mystr==""(一个整形变量如果是空的话),应如何表达--
jspinit到底是什么用的
include 的问题
有人知道该怎样解决吗??(在线)
如何让数字每隔3位显是一个逗号?
江湖救急:在jsp下怎么实现把查询出来的数据导入Excel表格中?解决了送100分,谢谢
WEB页面的数据校验问题,如何控制输入特定字符,如整数~~~急
对用户点击某个链接进行计数,如何实现?
两应用服务器的数据传递
jsp中一些特殊字符怎么处理?比如说单引号和换行符等等。
关于radio、复选框与数据库的问题,急急急!!!!!!!!!!!!!!!
急,在线等,立即结分
request.getRemoteAddr()和request.getRemoteHost()的区别是什么?
有谁知道csdn上的短消息是怎么做的!急!!!小女子在此先谢了
刷新机制求助,jsp怎样刷新?
JSP 中有没有等同于 ASP 里面的 response.end 的命令
树型论坛的数据库设计和快速算法(对左轻侯的快速算法的一点小改进)(前20名回复给分)
取表单名的问题(在线等)<代码如下(jsp程序)
如何能够只打印页面上的表格,页面上的上一页,下一页(是链接)和按钮不打印
多行 文本框 怎样产生 换行 (在线 等待)
这条sql语句怎么写
在线人数统计怎么做?
请问如何保存住下拉框的选项的结果值,比如时间的选择或者任意选项的选择
请教高手:在java中如何禁止屏幕考屏及在jsp中禁止copy操作?
哪位朋友可以讲解一下getParameterNames()怎么使用阿?为什么我就是使用不了呢?
求救!关于forward,小弟实在无法找出原因。一定给分
要用bean吗?请教高手!
再问:在一个excel里面,怎么取得行列消息呢?(跟者给分)
关于在一个FORM中如何实现多个ACTION动作?????????
问一下,用ASP做的聊天室是怎样知道聊天室的某一个用户离开或者关闭窗口,即怎样检测已进入...
请教二次登陆的问题
字符串的比较
怎样将库中取出的记录分页显示。可用上一页,下一页翻页显示
关于form中的回车键。
浏览器中如何让后退按钮失效
如何计算点击一个页面数值加一!
请高手帮忙解决---页面记录连续插入的问题
请教如何通过sessionId得到session对象,并使之失效。
请问如何通过Session对象判断这个session是否已经不合法?
调试jsp的时如何实现像asp中的response.end的效果
关于cookie和调用同一页面得问题!
其他
请问在一个servlet里取得一个用singleton模式实现的类实例,那么这个类实例的生命周期是怎样...
500相送,求解客户端下载的邮件的存储功能设计???
急,怎么找回删除了的文件?在线等
高手请进!讨论一个问题。
为什么 out.println()不会换行?谢谢
linux下如何设置jre环境
在IE中如何让用户按“后退”键后“向前”键失效????? 赠送100分!!!!!!!!!!!!
jsp访问新闻组
请问开通一个网站需要什么手续?在线等待
一个jsp的高手要达到什么程序,然后进军J2EE?
复选框的问题
Jbulider 8 的致命问题!怎末解决?
高分求LDAP例子,要求能够完成读写功能
关于apache和tomcat在linux下的整合
怎样将一个字符串变成一个数字啊?
关于流量统计代码,请找错误,百思不得其解
★★★★求一实现split的方法,急★★★★
我想用一个文本文件mycount.txt做一个计数器,请给源码!
关于多进程的问题??救急
jsp页面下 不能正确显示??????
<bean:write……输出html问题
昨晚还能访问,今天为啥就不行了?狂躁啊!!java.lang.StackOverflowError的问题??!!
eclipse3.0中加入lomboz插件时报错,我用的时lomboz.3,因该不是版本问题吧
Socket连接服务器问题? - URLConnection、Socket、ServerSocket的程序范例解析
Java操作Excel,处理"合并单元格","画线(粗细线,虚线)",还有指定单元格输出
怎样将int 99999转为byte[]?
jsp里面使用xml的技术(讨论)
如何理解ResourceBundle和Locale?和应用的场合?谢谢
比较好的JSP论坛有哪些?请推荐!
在win2000下安装iis和resin后,在虚拟目录interflow中放置index.jsp.用http://127.0.0.1/int...
有关JSP页面刷新问题
★★★急问怎么才能知道一个webpage发送的request到底是POST型的还是GET型的?★★★
Servlet
求助:linux下,通过servlet画图,非得在xwindow下打开tomcat吗?内容:请教各位是怎么做的...
Java里有没有类似Asp里HtmlEncoding这样的函数呀?
江湖救急!高分相送!
write和print方法有什么不同
关于servlet在Jsp中的使用问题
谁能给解释一下session的问题?它的值是放在客户端?还是服务器端?请看我的情况...
如何在servlet里面使用response对象?
调用servlet(servlet的映射)
一个简单session问题,回答有帮助的送分!!
如何访问WEB-INF下的jsp文件?
无法在Servlet中import 自定义的类,急!
为什么点击刷新按钮总是重复执行插入数据库的操作呢!
请教高手,PrintWriter和ServletOutputStream的区别,及<%=name%>和"+name+"
奇怪的问题,servlet无法调用同一个包下的类
servlet不存在?!怎么回事?!
WEB页面上的内容转到Excel档中
自定义标签Tomcat和J2ee正常,在WebLogic中却报错!cannot resolve symbol:variable EVAL_BOD...
刚装了 Tomcat 4.1.18,原先4.0.4能运行的Servlet现在不能运行了,何故?
整合APACHE和TOMCAT后居然不能执行SERVLET!
tomcat下的servlet怎么运行?
救命!!!各位老大,servlet中把查出来的数据(报表)用excel显示,点击一个button(html),...
请教一下关于SESSION的问题!!
session可以保存一些数据.定义static的变量也可以,有什么不同?
Servlet如何返回一个对象给JSP(No Session)?
各位大侠,Category是干什么的?他的debug()方法能干什么呀?
servlet类的放置路径问题
Servlet的deploy问题,请高手指点
applet如何用socket和servlet进行通讯?(最好有项细代码)
Servlet程序应该放在TOMCAT的哪个目录下?
关于servlet异常处理
急问!!:如何用一个servlet接受请求后,改变请求的参数值后调用另一个servlet
Tomcat如何运行servlet啊?帮帮小妹...
Random 谁会呀
Applet/Applet与Servlet通信
请问PageContext和ServletContext有什么区别?
java程序运行怎么那么难啊?
有jsp~javabean的关于如何接收email的代码吗?利用他人的邮件服务器(smtp:163.com)收发邮件
用JSP操作Cookie
有什么书介绍applet与servlet通信比较详细的?
Servlet入门者的问题,来者有分?
新手求助:如何在applet内部实现刷新?
关于Servlet的并发问题。
在IE中运行applet时出现无法载入class的问题,请问如何设置codebase
SERVLET中的doGet与doPost两个方法之间的区别
Applet的调试信息如何输出?
如果让HTML显示在Applet里并打印出来?
当多个请求同一个servlet时,servlet的生命周期是怎样的?
如何在weblogic中配置类路径,我要连接sql server2000数据库。
JSP里有谁用过Apache FOP 来生成PDF文件.
javabean打包等问题?
怎样才能使applet访问 本地的动态库呢?
有关JSplitPane的用法,有点想不通,怎么回事?
请给小弟一个applet连接数据库的例子,谢谢
[100分,两日内结]怎样在jsp中得到我的数据
Applet连数据库
在线高分求助: JAVA Applet 如何实现"保存文件对话框"???
!!Servlet里如何提交表单?
高难问题:关于客户端的实现?(在线等候,10000分)
讨论JSP和Servlet的关系问题:
在线等:如何在applet 中得到自己所在的URL
高分求救:请问能不能实现servlet同另外一个服务器程序的通信,在局域网内
奇怪的.java.policy.請幫忙看看
为什么我的applet在IE中可以看到,但在netscape中就成白板了呢??
请问:怎样实现一个能实时响应请求的Servlet?
高分求助..如何使JSP和Servlet在我的机器上运行起来?
JavaBean
求助 javabean的最简单调用,分现解!!!在线等
我的JavaBean为何无法运行?
服务器用的IAS,从cmd下执行class文件出现Exception in thread "main" java.lang.NoClassDe...
急:javabean调用的问题,中高手救救俺!
请问一个初级问题
急需jsp分页,拜拜托了,大呼救命呀
高分求如何写一个BEAN
初级问题,请问jakarta-taglibs中中文怎么解决?
菜鸟,在线等待,谢谢!
我在一个bean里写了一个字符串转码的方法,可是出错了,不知道为什么?
500分求解,一个bean调动另一个bean!
一个关于 javax.servlet.http.* 的简单问题
超级困惑,关于javabean和applet的问题!!(高分!!不设上限!!!急!!!!)
javabean如何从数据库获得五个不同的数值,并依次return给jsp页面?有代码如下!!请大虾指...
最简单javabean运行出错!是何原因?
为什么我从javabean中取得的数组返回值为null呢??急切盼望大虾指教!!!
bean的scope的应用问题!
我也奇怪!!我奇怪的javabean~~!!进来看一下!!
关于JAVA Bean
关于javaBean原理性的两个问题
请教:日期运算
请教大家两个数据库编程问题:
javabean开发oracle,如何将分页显示的内容传出来好?
请教各位高手,有关JSP和EJB的问题
怎样编写打开任何类型的文件,然后将该文件读取写到新建的文件里的Java类?
我今天终于迈出了模式转变的第一步!!!
请教:java bean在实例在各个页面共享???
一个关于jsp中调用javabean的问题。
请问如何把application对象传到javabean中?
中文编码
JSP中的繁体中文显示方法,紧急求助!
SEVLET中文问题,望大家多多帮忙,紧急!!,解决了多多加分!!!!!!!!
数据库和app之间的编码方式
急死了,又是中文问题,java,jsp 高手请进,高分送!!!!!!!!!!!能指个方向的也给分!
关于数据显示 中文 乱码的害我许久的疑难杂症,各位JAVA高手近来看看!!
如何解决超链中不能传递中文参数的问题
我在做一个论坛,怎样解决在发表文章框内写入HTML语句的问题。很详细,在线等。谢了。
非高手出马:数据与中文转换的问题!
中文问题
痛苦啊,按照书上的方法,在将数据存入数据库前,将数据转为“iso-8859-1”字符集的字符,为...
response.sendRedirct() 的中文参数传递问题
jsp下载文件时文件名到客户端时乱码?就是保存的时候,望高手指点!
xiaofenguser(风雨) 乱码???????问题请进啊!!
iText的中文问题,FAQ上的帖子没有了,麻烦……
如何用file.rename()方法变更中文名
一个奇怪的字“堃”,不能正确显示!!!
在jsp中如何判断传来的字符串是8859-1编码还是gb2312编码方式
jsp向sqlserver 提交汉字信息时乱码问题
有没有什么类或者什么方法将中文转换成UNICODE码 例如"我们",UNICODE码是"\u6211\u4EEC"
字符串变量的显示问题
在Cookie中存取中文的问题:
如何同时显示繁体和简体中文
请教添加一table后的中文乱码的问题(在线等待)
还是乱码的问题
中文问题response.sendRedirect("err.jsp?msg=乱码")??
jsp中文老问题,回答详细者给高分!!
sevelet往jsp传参数的时候,怎么中文我总是得不到啊?一直关注
一个奇怪的中文乱码问题(使用smartupload时单数个中文字最后一个中文字乱码)
这不是一个简单的中文问题
JSP插入MySQL数据库的中文稿问题
简单的登陆问题用JavaBean
请问如何设置Cookie中的value是中文字符
经典算法
如何得到一个字符串中某个特定的字符出现了多少次??
【注意】得分的机会来了!如何将一维数组转为字符串!
数据库异常!!!我用加密算法之后出现的错误!!!
急!JSP高手请进!!!
如何对用户名和密码加密??用post传递数值。
请高手讨论:关于数据库ResultSet 与 二维数组,进来有分
如何将各种时间统一格式化为“YYYY-MM-DD hh:mm:ss”?
如何控制float的格式?
[求助]循环与表单---问题阐明得很清楚,请帮助!
关于回调页面得问题
如何将一个时间字符出,格式化为Date型?
如何在java里得到from里的键盘动作?
标签库的问题
图形处理
[100分求救]在Canvas或Applet上画的图应该怎样输出为jpg图象呢?
谁能告诉我怎么将数据库中的图片(blob数据类型),在jsp页面显示出来?? 100相赠!!!
在java的Applet中的关于图象在界面中任意拖拉、图象之间的走向的连线的程序(高分、在线等待...
如何根据读取的数据画直线?(数据指直线的高度。)
JSP小秘籍
在jsp中如何<font size="20">ddd</font>屏蔽掉
out对象的问题
关于显示jsp代码的问题?
如何实现页面的自动刷新?
请教!本人欲在一JSP页面中实现对声音文件的试听功能,不知如何来做?请各位大哥不吝赐教…...
点击一个链接,触发判断事件,'是'则跳转,反之不跳转?
换行的问题,大家帮忙啊!
关于Cookie
请问jsp与sql server 2000的连接语句是怎么写的?
if request.getAttribute("gn")==“所有功能” select 语句在jsp中怎么写?
修改的时候如何去掉下文中的<br>,并保持原页面显示格式不变?急!
求教,在JSP里能调用其它的应用程序吗,比如说C写的程序,如果能,被调用的程序怎么返回结果...
请教字符串比较问题?
访问存储过程与直接访问表有什么区别!
怎样知道某年某月的1号是星期几?
如何在JSP中直接显示excel表格,而不是提出字段?
请问怎样来做web权限设计比较好?
我在输入框中按回车键,为什么我的表单提交有错误,怪问题,高手请进!!!
回复有分!!!请问在jsp中如何获得mac地址??
问:我配好了Tomcat就行了,apache不配也行,apache是干什么用的?
可以直接在Bean里向页面上进行输出吗?可以的话如何做?
求助!有没有快速的方法对日期进行正确的计算? 急!!!!
谁有JSP字符串处理的函数???谢谢!!!
请问如何手工用 jspc 编译 jsp 文件?
请教<jsp:include 问题
问题多多,有jsp经验的请进来。
这段jsp代码有误么?帮忙看一下!这么传参数可以否?
jsp调用bean时,bean中怎么获得当前bean所在的硬盘物理路径?
jsp中,怎么获得当前jsp程序的webApp物理路径?
弹出一个模式窗口,用onclick="window.close()"怎么不能关闭呢?
关于模式窗口点击提交按钮,为何不能在当前窗口完成,而是显示另外一窗口完成,该如何解决?
JSP如何得到服务器端的系统时间!!谢谢
如何限制上传空间的大小? 我是用SmartUpload上传文件的,如何实现限制上传空间的大小?...
如何配置tomcat才能使用SSL认证?谢谢
求助!哪位高手知道如何判断某文件夹中是否有指定文件的代码?
请教使用JAVA生成一个随机字符串的方法
请教各位大侠,怎样在用java语言判断在磁盘中的一个目录下是否有文件,并且把所有的文件名都...
存储过程中,得不到返回值提示The requested data is not available.代码见内
JSP页面中如何用程序得到当前使用者的IP/机器名?
为什么我在Jbuilder7下JSP不能加载applet?
关于jspsmart的文件上传中的中文问题.
请问:关于deeptree的问题?
jar||zip ???
用jspsmartupload上传文件,在表单中还有其他几个文本框,用一Servlet处理,上传文件正常,但其...
我在服务器上放了.rm文件怎么在客户端播放?
在线高分求助:jsp中如何隐藏下拉列表???
我用JSP做了个聊天室, 怎么屏蔽掉IE上的工具栏?
请教:我要传的URL参数中有“+”号,结果接收后成了空格,如何处理?
高分在线求助:如何将以下网页上的内容(Shipper = DAIMLERCHRYSLER CORP)通过点击"SAVE"按钮...
有关单独用TOMCAT做服务器的问题
一个简单的计数器
高分在线求助!!!如何将网页上的内容通过点击网页上的"SAVE"按钮打开保存对话框并存为Excel文...
高分在线求助!!!:如何将网页上的部分内容通过点击网页上的"SAVE"按钮打开保存对话框并存为E...
single_line类型的text field,如何能在输入时不显示历史值
关于获得html地表单数据问题
如何在“errorPage”页面中处理错误
请问各位大虾!!!通常所说的破解未加密的用户名与密码是怎么回事??请指教!!!
请教大家,请大家帮忙,很想知道(在线,立刻给分)。
在页面上显示rtf文档
怎么去做这样的搜索
关于JSP的几个简单的问题:
各位大虾来拣分,简单问题,在线等待
一个控扰我很长时间的字符串截取问题
再次讨论在JSP中有关参数传递的问题
我的表格中的字是动态的,当字很多时,表格就会被撑得好长!!如何控制表格,是表格里面的字...
jsp页面从bean获得一个返回值为Hashtable,怎么把hashtable的值取出?
关于判断时段?
服务端如何读取客户端的文件?
jsp中如何调用可执行程序
我已经用vb的打包工具把activex打成*.cab文件了,为什么在其它机器不会下载?
面试jsp问题全接触
从数据库中怎样保存形成一个自由删除、添加的树状的数据结构最后在网页上动态显示出其树状结...
getContextPath()只能用在tomcat么?
如何使用JSP读取SQLServer中的ntext字段?当数据库的字段的数据显示为<Long Text>时,就...
如何做在线用户名单?
下载的问题,如何让浏览器不能识别我要下载的文件名后缀?
jsp在线人数统计??
如何在jsp调用windows下的程序执行.就是IE当shell.(有点像黑客:) 不是用来干坏事
怎么实现jsp中的页面跳转
如何使用jar命令将一个目录打包为同名jar文件?
请教高手:在java中如何禁止屏幕考屏及在jsp中禁止copy操作?
各位,如何在jsp+servlet中使用https
初学者的几个最简单的问题~? 请大家一定帮忙~! 一定给分!
为什么当我在一个 Pop-up的窗口里面 取SESSION值得到的却是 为空,帮忙解答一下!!
请求用递归创建菜单树(急用)
用porte编写基于struts架构的jsp时遇到一个问题
关于同一日期格式问题
在jsp页里怎么实现选下拉菜单后会连接过去。
在servlet中如何实现多线程或同步的问题!!!(java高手请进)
我是菜鸟,我请教!(100分赠送!!)
聊天室中先登陆的人如何得到别人的登陆消息?
大虾救命!!! 在JSP 中如何取得Client端的(已知路径)下的某文件的创建时间及其他相关文件属...
disk(谁说东北人都是活雷锋?瞎掰!) ,所有有做打印经验的高手请进来.
如何让提交按钮提交出的网页全屏
怎样才能让applet访问本地文件呢?
关于创建字体的问题
如何在Jsp页面中打印输出一颗树
JSP中怎么读取环境变量?
请问一个关于撤消和恢复撤消的问题:在线等待
关于网页代码包含的简单问题!!请大虾看一下!!
关于request
怎么样判断所输入的日期值
用sevrlet打开一个PDF文件时出现的问题?
为什么???JAVASCRIPT!!紧急!!!!!!谢谢各位!!!!!!!!!!!!!!!!
各位大虾,兄弟有个问题,请大家不吝赐教。我在做JSP ,Servlet程序时,我想在关闭窗口...
jsp中如何获取自身网页的名称?
用HttpSessionListener如何显示在线用户列表
一个文件的操作问题?急!!
我如何删除带有文件的文件夹?
jsp存储过程的问题
如何把JavaScript的文件插入到*.htm文件中?
一个关于字符串在页面上显示约束的问题,急等~!!!
初学jsp,关于new操作符的简单问题!!!
请这里的高手过来,急!!!!!!!!!!!!!!!!!
在页面中,怎样得到页面中其他字段的当前值?
数据分行显示问题
在jsp中如何获得提交请求页面的URL!
jsp新手问题
怎样:点击jsp中的链接为下载,而不是打开这个链接
关于JSP中的内置session对象中属性的疑惑???
有没有简单的获取当前服务器地址的方法啊?
在那里查看关于jsp数据库中ResultSet等接口的各种方法的应用
jsp -> taglib -> SKIP_BODY等 中几个静态值的具体意义
JSP中怎么解决链接中的特殊字符传输问题
getstring是不是会自动取掉空格和回车啊?
如何在servlet里得到jsp页面里设置的session值?
csdn的jsp高手过来看看!!!!!!!!!!!!!!!!!!!!!
response.sendRedirect的问题!
比较的问题?
JSP里直接调用WEBLOGIC里配置的连接池代码示例
怎么判断时间格式
JSP和SQL Server中文的问题?
如何删除已安装的tomact
jsp向oracle中追加中文为什么是乱码?
求教:web.xml配置(tomcat+eclipse+插件)resourse not available。急!!
怎样取得提交的form表单中的复选框数据——在线等待
请问如何把从Servlet中取得的数据显示在jsp面
字符串的处理,在线等
有下面的链接 <a href = "action?para=123#456"> 提交之后在得参数的时候只能得到1...
请问如何写入DOS命令?[在线等!]
jspSmartUpload 上传图片的一个问题!
乱码问题,在线等待。。送分100
我是一个新手,页面不知为什么出错,请大家指点。
请教:IIS支不支持weblogic,如果支持,安装安weblogic后我应该怎么做?
多了一个“'”怎么办?
我的jbulider80为什么保存不了jsp文件?
为什么ResultSet会出错?
Tomcat4.0.4中如何建立虚拟目录
SERLVET或JSP中如何防止客户重复点击
JavaBeans的程序怎样编译和运行
一个简单问题,可是我不知道! 痛苦啊!
使用jspSmartUpload组件上传文件是不是有大小限制?
怎么定义一个vector或arraylist?
散分问题-随机数的生成-在线等
关于JSP的输入输出流的问题
jsp连接oracle
(高分悬赏)JSP对文件的操作到底需要那些东东???
<%@ include file="path"%>的使用问题
jsp/servlet中的一些问题(大家随便发言,讨论讨论)
如何解决从表单写到数据库只要是中文就是乱码的问题!
为什么在JSP中弹不出对话框!!!
初学JSP,可为什么照书上的例子做,却会出错
这些引号怎么写?
JSP中的action
能不能把一个form里的内容提交到两个不同的页面!
哪里错了?
2000里的CLASSPATH中可不可以这样写:D:\ApacheGroup\Tomcat4.1\common\lib\
有什么函数可以知道对象的类型?
送分问题
初学者问题
怎么判断下拉列表中选择的结果(中文字串)与JSP中的一字符串相等?
一个很简单的地址转换问题?奉送100分
javaScrip 在 JSP 文件中的位置,放在文件末尾可以不?
刚学JSP,有一个问题请教大家
紧急:我在配置tomcat时,不能进入管理界面!?
菜鸟问题:怎样取出ResultSet里的记录数啊?
数据库读取数据出现乱码应如何
关于类似out.close();终止打印内容-<%if(true) return;%>
求无刷新聊天室中的控制滚屏代码!
关于两个页面之间传值,和打开新的页面的问题。急用!解决问题马上给分!!!
高分诚征解决方法和思路
j2dk+tomcat+Microsoft SQL Server 2000 Driver for JDBC数据库连接问题注意你的sql serv...
哪个有关于JSP生成静态页面的帮助文档及说明的电子书,秀出来,谢谢了
如何去掉<marquee>标签开始和结尾的空白?
jsp能动态删除文件吗?
jsp复选框的问题(新手提问)
javascript 日期相减
公司是用struct结构来做JSP的,我这个不太熟悉。请高手可否帮我介绍下这样的结构模式,谢谢
在Servlet与JSP中取得当前文件所在的相对路径与绝对路径
关于用jxl向excel模本写入数据时候出现的问题
运行环境
Jacob 实例
为什么eclipse3的windows-perfermence下没有tomcat阿?
小弟初学JSP,TOMCAT总是提示404错误,请帮忙
Tomcat已经提供了Web功能,为什么还要装apache?
Jdk1.4.0版本问题!!!
resin上开发的程序,转到tomcat4.1.24上,问题怎样解决?
我用的是TOMCAT 4.0,为什么我用JSP数据错误,用CALL连接不错呢?帮我看看源代码?
为何“package javax.servlet does not exist”?
我在eclipse中,对JSP生成的JAVA文件加不上断点?
关于SERVLET配制的菜问题??大家帮帮我。谢谢!
我的jdk装好后,能用java,但是不能用javac,大家帮忙看看?
tomcat 怎么像iis一样设置主机头,让多个域名指向一个ip而又互不干扰
各位大虾好!问一个关于jsp使用.jar包的问题!在线等!特郁闷!200求答案!
E:\Xinox Software\JCreator Pro\MyProjects\SimplePrint\SimplePrint.java:2: package jav...
请教:webapps\ROOT下有一目录test
刚学JSP,感觉jsp页面反应速度不如ASP快,大家以为如何?
碰到一件奇怪的事情,不知怎么会事,真让人着急
一个jsp的起步问题,高手请帮忙
tomcat4.1的路径问题,在线等待,急
关于tomcat4中web.xml的问题
请教:一个初学者的问题
极度郁闷中~!各位大虾,请帮帮忙!!我把我的ie5升级到了ie6,并上微软网站升级了一下系统...
关于bean 在tomcat中放到哪个目录下面
哪里可以下载 javax.servlet.http 和 javax.servlet包
无法找到servlet包,无法在webapps下建立新环境,看看我的配置到底出了什么问题。
关于JBuilder8的,
设置tomcat4.1数据源的问题~~
tomcat如何修改404之类的页面
环境变量问题?
如何在虚拟目录下运成servlet生成的class文件
当你输入 HTTP://LOCALHOST:8080 时就会出现指定的网页?如何配置tomcat
关于servlet运行的问题,急死我了,
请教:如何更改tomcat服务的端口号
win98下配置TOMCAT问题
又是可恶的乱码问题
在Tomcat下运行JSP老是出现sun/tools/javac/Main错误,请问怎么回事?
《怎样配置环境变量》《怎样运行Servlet》
如何把tomcat的服务添加为win2000的服务
关于java服务器,jswdk.配置问题
正在使用中的tomcat突然不能用了,请教如何解决!!
eclipse问题!
进行Java开发的环境需要哪些?
谁能告诉我在Red Hat Linux下配置Tomcat+JSP+Apache服务器的步骤!
如何改变apach tomcat服务器的ip地址?
我装好了tomcat,那么默认的用户名和密码是什么??
请问一个tomcat的错误页设置问题?
jsp+servlet+ejb的思考,有兴趣的请进,有分相送
哪位大侠在jsp中用过基于form验证模式
使用JDBC连接数据库时Class.forName()语句的使用疑问
Tomcat4.01全攻略
再谈Apache2.0.42和Tomcat4.0.4的整合
崩溃的边缘,送了100分了还是不行!!jsp虚拟目录
介绍一下最好用的JSP开发环境,收到给分!
请问如何使用jar命令,在线
如何让IIS支持JSP?
"Weblogic 连接池 + Oracle + Servlet" 的无状态SessionBean 全攻略
web.xml的书写要求及注意事项
如何让Tomcat一启动就调用Servlet的Init方法?
怎样显示其他盘中的内容和建立虚拟目录???
如何将jsp/servlet/javabean做的项目打包成*.war?
请教JDK1.4.1与TOMCAT4.1怎么配,(在线等)
100分询问visualAge for java 大虾过来看看
大家接分拉:一个关于web应用程序的发布问题!请进来看看吧,答者有分!
请问 tomcat 中配置文件的问题
IBM WS AdminServer 4.0 服务不能启动?
html 与Shtml 有甚麽不同?
[原创] 最新Apache2.0.43 + Tomcat4.1.12 + mod_jk-2.0.42.dll整合!
那位大哥有turbine的学习资料(中文的),100分奉上?
Tomcat web-app 参数设置错误?
为什么我装的Tomcat4.1一启动startup显标了几行字就自动退出,为什么?应怎样修改呀?
在tomcat下,写的jsp文件应该放在哪个目录下?
如何创建jsp的运行环境啊?
运行tomcat的start.bat的错误信息
为什么一开启tomcat就有错误??
BEAN的配置问题!请高手指点!!
jsp頁面正在執行中,我又執行另外一個頁面,會很慢,怎麼辦?
jsp+javabean,tomcat的配置问题
一个新问题,关于Tomcat server.xml连结池与Apache整合的实现
通过IE浏览放在weblogic6.1里的网页出现找不到类的错误怎么解决
jsp开发时为何刷新没有任何效果呢?
1、我运行\bea\weblogic700\server\bin\目录下的startWLS.bat文件来启动weblogic7,为什么...
[求助]到那下载JDBC对mysql的驱动mm.mysql-2.0.14-bin.jar 呀?急急。。
关于eclipse+tomcat调试jsp的问题
~~~~~JSP连接SQL2000出错,请大侠们帮忙解决~~~~
为什么老是出现NullPointerException错误
tomcat中我的JAVABEAN为什么不能用????
TOMCAT的问题
关于JSP环境构建的问题!
jsp页面为何出现"该页无法显示"?
关于resin的配置问题
我用jsp调用SERVLET,很怪!就是不让用,各位英雄看看如何?请进!
eclipse 中怎么加入tomcat.
安装的是j2ee,写的javaBean放在什么地方?
servlet怎么才能通过编译?
在RESIN中,我把欢迎页面去掉了。但为社么会出来Resin? Default Home Page页面呢?
为什么javabean中的class会出现被系统自动删除的情况,江湖救急,在线等待..........:
在JBUILDER8 中需要配置TOMCAT 吗!又如何调试JSP!菜鸟问题!来者有份!
还是TOMCAT的问题
难题?进入给分.
想搞清楚几个问题:
JSP和PHP哪个好??
tomcat4.1.24如何设置虚拟目录?已搜索过相关主题了
闹心!在线等!关于bean的存放目录
如何安装JDBC驱动包,如何获得!?
数据库Java应用
初次提问,在线等待,resultset结果不对问题。
请介绍一下名字服务
JSP+ORACLE 后台联接池的问题
Error establishing socket.请问大家这个异常一般属于什么情况,为什么会发生啊??
关于jsp内置对象的问题?
如何用jsp实现树形菜单?
十万火急,Help Me!
sql server 2000的数据库连接问题
jsp访问ACCESS的中文问题
有关类型转换
如何取得数据库中时间字段底hh,mi和ss?(在线等待!!)
关于JSP连接SYBASE的问题.
jsp中的中文处理问题
请问如何取得存储过程返回的多结果集中的最后一个结果集???
在jsp中如何能得到一个控制器的名字.
求救tomcat问题?
怎样用java 做DLL文件
怎么样把BLOB从数据库中取出?(马上给分)
(急得要命!)oracle数据库表中某一LONG字段内容是word类型的文档(ole形式嵌入),如何取出该字...
为什么安装了SQL Server 2000 Driver for JDBC后仍然不能访问数据库?
求最新的JDBC for SQL Server 2000的驱动。
关于结果集错误
求救数据库连接池问题!
发布留言怎样实现跟贴?
真奇怪,一个程序分成两个就出错,大侠帮忙!
请教关于数据库表的设计
怎样建立连接池
一个图形存取的问题,请大家帮忙,万分感谢
linux下mysql的jdbc权限问题
添加数据的通用bean怎么写?在线等待
数据库问题!! sun.jdbc.odbc.JdbcOdbcDriver
关于jsp问题
求助:jsp连接Oracle找不到类
提取记录时出现如下错误:java.sql.SQLException: [Microsoft][SQLServer JDBC Driver] No ...
Linux下,jdbc怎么连接Sybase数据库啊?
jsp连接oracle问题
tomcat 4.1.10与sql server2000的数据库连接问题
struts中如何用server.xml,web.xml连接数库
关于ResultSet的Cursor移动的问题
一个connection pool的问题,急
为什么在一个网页中写JSP代码,不能对同一张数据表进行两次查询
关于jsp+mysql?
最后30分,用jsp中连接过informix的jsp高手请进来看看这个问题,好么?55555
高分求购:对数据库(oracel)的连接、添加、编辑、等操作的javaBean源程序
兄弟姐妹们帮帮忙,如何将一个字符数据写入数据库,急急急急急急急 在线等待
各位大侠帮帮我,怎么样记录所有用户对数据库的操作~~~在线等!
*.htm文件中的JavaScript的脚本文件为什么没有效果!
怎样提高数据库的性能
jdbc怎么安装啊?
100分问关于jsp连接数据库的问题!为什么会报错呢???
JAVA(JSP)开发困惑-为什么我对jsp看不到希望
用JTree类生成树的问题
如何将从数据库中取出的ResultSet对象转化为vector类型??
一个简单的数据库调用不成功?
请教一个javaapplet和数据库连接的问题!
请教:"java:/comp/env/jdbc/jilin"这是句子怎么解释?100大元
SQL查询错误,请您帮忙提个意见(在线)!
请问java.sql.SQLException: Before start of result set什么意思?
jsp+mysql的中文显示问题
数据传输问题(在线!!!)
大家过来帮忙看看,急~
请教在weblogic7配置Struts和运行Struts_Example的方法(在线)
jsp中用到JavaBean时的目录设计问题
请问我在jb8中要加入oracle9i的数据库驱动,应该加哪个jar文件?
createStatement()的问题
高手请进
为什么?
数据库连接问题
新手关于applet应用的问题
请问怎么把数据库里面的BLOB提出转换成String显示在页面上?谢谢了
ResultSet查询后多行数据集怎么取存?在线等待!
javabean操作数据库的代码和错误,再线等待!
操作数据库时发生奇怪的错误,高手指点!
建网站的数据库用哪种开发语言比较好?
如何在jsp中使用 事务???
java图片插入oralce的blob对象方法
MS SQL2000 (Error establishing socket)错误的解决办法-SQL请选用混和安装模式
紧急求助!tomcat4.06服务mssql2000数据库取image字段会这么慢?-,原来是微软sqlserver2000jd...
oracle中字段如何inert进去一些特殊字符,例如#'"?%_等?
MSSQL操作中的一个问题,怎么和青春豆一样令人恼火呢?
JavaMail
JavaMail应用时少了Activation.jar包!可在这里下载http://java.sun.com/products/javabean...
无法发送邮件,请问是什么问题,源码如下
[求助]在jdk+tomcat环境下如何添加Java Mail API的问题?
那位老兄有java(jsp、servlet)发邮件的源代码?
为什么 sendTo 的电子邮件址址用自己本机的地址就行也可以发送到本机,但如果用一般的电子邮...
邮件应用系统
发送Mail时如何通过服务器的身份验证?(非JavaMail方式)
jsp兼exchange高手请进
Struts
用jbuilder8.0开发struts(1.0.2),jsp不能保存:com.borland.primetime.util.AssertionExcept...
Struts中<html:form>--原来html中form的name属性现在变成什么了?答着有分!
struts标签使用场合讨论!
struts之ActionServlet深入探讨
请描述一下struts的jsp页面获取action检索多条数据库记录的处理过程及其中tag的使用
Struts1.02 Framework中action.xml与struts-config.xml有什么区别,内容好象差不多?
做出html静态代码后,如果采用struts的话?
Struts中的struts-config.xml文件中,action-mapping中的一段: <action path="/logo...
问一个截取时间字符串的问题
JSP的Tag问题,在线等
Struts中struts-config.xml中<blobal-forwards></blobal-forwards>有什么作用,...
如何在使用Struts的jsp页面写动态的标签??(在线等待,送100分!!)
Struts中我没有FormBean,Struts-config.xml文件怎么配呀?>>
哪位大虾有tiles的中文资料,100分答谢!!
用Struts开发你的网站(一)
谁有taglib的例子呀?一个什么条件都能涉及到的一个例子,高分!
关于Struts的几个入门问题
谁能给我解释一下Struts中的struts-config.xml文件中的form-bean和action-bean中要填的各项...
如何让所有的Action只共享一个actionFrom
Struts中输入表单从多个表取数据的问题,怎么解决?
请问如何在Struts中让用户只能用26个英文字母大小写或“_”来注册?
AcrionForm的数组属性在显示层的用法
Struts:如何动态的使用tag?
struts问题求助!
高分请教有关taglib的详细例子.
tomcat+struts中文问题怎么解决?
help?!#@%¥##struct1.0 中的中文出现乱码问题 (jbuilder8下自带的struct1.0)
安装STRUCTS出现问题,请大家看看,帮帮忙。
在struts-1.1中读ApplicationResources.properties文件时出错,为什么?
在JBuilder8中,为什么不能把Struts1.0升级到Struts1.1???
struts中,如果我想在<html:text ... value=""/>的value中用脚本怎么办?
请教如何在两个form中传递参数,是struts的action/form,详情见内。。。
JBuilder8 + struts1.02 开发时出现的问题,急!!
关于Action中使用Request.setAttribute和session的区别..
Struts的URL问题,分不多了,请大家见谅!
一个非常经典,易懂的MCV设计模式例子,希望大家讨论为主,拿分为辅,我也有几个问题要解决...
为什么要使用structs框架实现mvc模型?
谁看了struct1.1中struts-example.war里面的内容?请教几个问题~
怎样控制struts去读哪个ApplicationResource文件啊?
如何在Form提交到Action之后把Form里面的值清空?因为我action之后还是回到input那个页面。
如何在javascript中判断表单中的radio是否被选中
struts中,关于向bean传送查询参数的问题。。。。
请教:对于struts下自定义的<html:submit>标签,如何使用style和sytlsclass属性??
请问谁知道有现成的基于struts结构的网站地址
高分求助:struts1.1下怎么在struts-config.xml里配置datasource啊
struts问题
高手请进=========action中如何对相应的DynaActionForm付值。
struts中html:checkbox和html:multibox标签竟然这样!!!
@@@@ bluesky35请进来接分,还有一点问题想问问你!!
struts使用过程中的问题
@@@@@ Struts中的ActionForm中的属性是否可以设置成一个集合!
struts-config.xml中部分字段含义的解析
出现了这样的错误 Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
今天下午不解决我就被炒鱿鱼!!JBUILDERX自带TOMCAT4。1。27连接池配置!
初学struts的一个问题
scope问题
关于struts的小问题,但我解决不了,请帮帮忙?!◎#¥#
请问如何将ActionForm Bean中int类型的属性显示在Jsp页面的文本框中是个空白,而不是在文本...
struts高手,现身吧。
XML
如何把jsp文件生成的xml文件保存到服务器端?急!散分求救!!
&的XML的转义字符是什么?
为什么用getNodeValue()不能返回该Node的值
站点发布如何手动设置?
谁能给我讲讲JSP的标签库
如何输出org.jdom.Document实例到JSP页面上?
SmartUpload
怎么改变smartupload的默认上传目录???
使用smartupload上传后,下载出现问题。
怎么在action页面判断上传文件时,<file type=file name="df">为不为空???
请问jspSmartUpload报错为“java.lang.IllegalStateException ”是什么意思?
jspsmartupload?文件上传的问题
急急,关于文件上传的问题?
如何在上传文件的时候,同时把这个文件自动命名。
jspsmart使用问题
form中带enctype="multipart/form-data"不能通过require取得值
jbuilder的应用问题
怎么样能够把文件上传到服务器的任意目录下??
送分,关于jspsmartload组件的一些讨论?
jspsmart upload的一个问题!
smartupload升级处理?? 编译??jspSmartUpload 反编译之后的SmartUpload.java不能编译,...
请教如何在jbuilder中导入jspSmartUpload(急!!!!)
如何获得上传文件的名??
JSPSmart中如何获得已经上传到服务器的文件数目?-if(!m_files.getFile(k).isMissing()){//...
图形处理
用JFreeChart生成曲线图,设置时间轴的问题
经过努力,解决了上传图片打水印的问题-结合在jspsmart.upload下使用的,这个是imgbean的代...
用Servlet合成gif格式图片技术专帖
●●(在线等待)为什么我删除图片时,图片上的连线不能完全自动删除,总有那么一两条还存在...
急问:如何用JSP在excel中画图表???
怎么样读取数据库中的图形?
哪位大虾能够解决smartupload上传图片到数据库的问题,愿送出200分!!!有代码如下,只是不...
如何能够在网页中调用AutoCAD应用程序?
Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册
面向对象编程的基础
要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起
了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、
类、消息、接口、及抽象等概念。
2.2.1
对象
现实世界中的对象具两个特征:状态和行为。例如:自行车有状态(传动装置、步度、
两个车轮和齿轮的数目等)和行为(刹车、加速、减速和换档等)。
其次,我们再来看看软件对象。软件对象是现实世界对象的模式化产物,他们也有状态
和行为。软件对象把状态用数据表示并存放在变量里,而行为则用方法实现。实际上,软件
对象还包括了数据结构和使用这些数据结构的代码。因此也可以说:软件对象是现实世界客
观事务的软件化模拟,是变量(数据和数据结构)和相关方法(对数据操作和对象管理的程
序)的软件组合。
在面向对象的程序设计中,你可以用软件对象表示现实世界的对象,而这些软件对象和
现实世界对象是相对应的。例如:如果你正在建立一个帐户管理系统,那么你的对象就是帐
户、欠款、信用卡、月收入、贷款、交易等等。如果你设计一个电子实习交通工具系统,那
么你的对象就是汽车、摩托车、自行车等等。就自行车的软件对象而言,表示该对象的状态
和行为应为与变量和方法相对应。自行车的状态:数度是 10mp(每小时 10 米),步度是 90rpm
(每分钟 90 转),当前传动装置是第 5 个齿轮。再面向对象的程序设计中,这些数据应放在
变量中。自行车的行为:刹车,改变步度和换档。在面向对象的程序设计中,这些行为用方
法实现。
在 OOP 技术中,对象充当了一个很重要的角色。对象的数据是组成对象的核心,而方法
则环绕这个核心并隐藏在对象之中。
2.2.2
封装
"封装"是 OOP 语言的优点之一。把一个对象的数据加以包装并置于其方法的保护之下
称为封装。所谓封装就是对数据的隐藏。封装实现了把数据和操作这些数据的代码包装成为
一个对象(即离散的部件),而数据和操作细节(方法)隐藏起来。如果增加某些限制,使
得对数据的访问可按照统一的方式进行,那些能比较容易地产生更为强壮的代码。
OOP 语言提出一种(或称为协议),以保证对数据进行统一的操作。通常的做法是:程
序和对象数据的交互作用通过一个公开的接口进行,而不直接进行操作。由于把数据封装在
对象中,所以,访问对象中的数据只有一种途径,那就是利用一个公开的接口。
实际上,封装在程序和数据之间设置了一道栅栏,它可以阻止一部分的设计错误,不至
于涉足应用程序其他部分的数据。
2.2.3
消息
一个单独的对象一般不十分有用,而作为一员出现在包含有许多其他对象的大程序或应
用程序之中,通过这些对象的相互作用,程序员可实现高层次的操作和更负责的功能。某此
对象通过向其他对象发送消息与其他对象进行交互作用和通信。
消息是以参数的形式传递给某方法的。一个消息通常由三部分组成:
1. 消息传送到对象的名称。
2. 要执行的方法的名称。
3. 方法需要的任意参数。
2.2.4
类
类是一个蓝图或样板,定义了某种类型的所有对象的变量和方法。
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成
的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能
力作为一种很重要的能力来对待。在面向对象的语言中,类的功能更强大,这是因为类不仅
含有定义数据类型的功能,而且还包含了对方法的定义。
对象实际是类中的一个实例。生成实例的过程叫做把"一个对象实例化"。一个实例化
的对象实际上是由若干个实例变量和实例方法组成的。当你创建出一个类的实例时,系统将
为实例变量指定内存,然后你就可以利用实例方法去做某些事情。
2.2.5
继承
继承是指建立子类的能力。子类继承了父亲的特征和功能。类的层次结构类似于一棵数
的结构,也像一个家庭谱系。它显示了根和它的导出类之间的关系。
子类从它先辈类那里继承了代码和数据,这样,它就可以执行先辈类的功能和访问先辈
类的数据。一个纯面向对象程序设计的语言将具有严格的继承性。
通过对象、类,我们实现了封装,通过子类我们可以实现继承。例如,公共汽车、出租
车、货车等都是汽车,但它们是不同的汽车,除了具有汽车的共性外,它们还具有自己的特
点(如不同的操作方法,不同的用途等)。这时我们可以把它们作为汽车的子类来实现,它们
继承父类(汽车)的所有状态和行为,同时增加自己的状态和行为。通过父类和子类,我们实
现了类的的层次,可以从最一般的类开始,逐步特殊化,定义一系列的子类。同时,通过继
承也实现了代码的复用,使程序的复杂性线性地增长,而不是呈几何级数增长。
2.2.6
抽象
面向对象的程序设计系统鼓励充分利用"抽象"。在现实世界中,人们正是通过抽象来
理解复杂的事务。例如:人们并没有把汽车当作成百上千的零件组成来认识,而是把它当作
具有自己特定行为的对象。人们可以忽略发动机、液压传输、刹车系统等如何工作的细节,
而习惯于把汽车当作一个整体来认识。
包含通用对象类的库叫作类库。
2.2.7
多态型
面向对象程序的最后一个概念是多态性。凭借多态性,你可以创建一个新的对象,它具
有与基对象相同的功能,但是这些功能中的一个或多个是通过不同的方式完成的。例如:在
Java 中你可以凭借多态性,通过一个画圆的对象,来创建一个画椭圆或矩形的对象。不管是
画圆,画椭圆还是画矩形的方法,它们都有一个相同的方法名,但以不同的方式完成他们的
画圆的功能。
1.8 类和对象
1.8.1 类
类是组成 Java 程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的
原型。定义一个类,实际上就是指定该类所包含的数据和对数据进行操作的代码。
类通过关键字 class 来定义,一般格式为:
【类说明修饰符】class 类名【extends 子句】【implements 子句】
type instance-varable1;
type instance-varable2;
type instance-varable3;
the methodname1(parameter-list){method-body;}
the methodname2(parameter-list){method-body;}
the methodnameN (parameter-list){method-body;}
下面将类定义格式的项目说明如下:
(1) class 是类说明关键字。
(2) 类名是由程序员自己定义的 Java 标识符,每个类说明必须有 class 和类名。
(3) 类说明修饰符包括:
abstract 说明一个类为抽象类,抽象类是指不能直接实例化对象的类。
final 说明一个类为最终类,即改类不能再有子类。
public 说明类为公共类,该类可以被当前包以外的类和对象使用。
private 说明类为私有类。
(4) extends 子句用于说明类的直接超类。
(5) implements 子句用于说明类中将实现哪些接口,接口是 Java 的一种引用类
型。
(6) 类体包含了变量和方法。在类体中定义的数据、变量和方法称为类的成员,
或称为实例变量和实例方法。
(7) 例如:
下例定义了一个 Point 类 ,并且声明了它的两个变量 x、y 坐标 ,同时实现 init()方法
对 x、y 赋初值 。
class Ponit {
int x,y;
void init(int ix, int iy){
x=ix;
y=iy;
}
}
类中所定义的变量和方法都是类的成员。对类的成员可以设定访问权限 ,来限定
其它对象对它的访问,访问权限所以有以下几种:private, protected, public, friendly。
1.8.2 对象
把类实例化,我们可以生成多个对象,这些对象通过消息传递来进行交互(消息
传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为),最终完
成复杂的任务。一个对象的生命期包括三个阶段:创建对象、对象的引用和释放对
象 。
1.8.3 创建对象
创建对象包括声明、实例化和初始化三方面的内容。通常的格式为 :
1. 声明对象
对象声明实际上是给对象命名,也称定义一个实例变量。对象声明的一般格式为:
type name
其中,type 是一个类的类名,用它声明的对象将属于改类;name 是对象名。
例如:
Date today;
Rectangle myRectangle;
第一条语句说明了对象 today 属于 Date 类,第二条语句说明了对象 myRectangle
属于 Rectangle 类。对象说明并没有体现一个具体的对象,只有通过实例化后的对
象才能被使用。
2. 实例化对象
实例化对象就是创建一个对象。实例化对象意味着给对象分配必要的存储空间,用
来保存对象的数据和代码。实例化后的每个对象均占有自己的一块内存区域,实例
化时,每个对象分配有一个"引用"(reference)保存到一个实例变量中。"引用"
实际上是一个指针,此指针指向对象所占有的内存区域。
因此,对象名(变量)实际上存放的是一个被实例化之后的对象所占有的内存区域
的指针。
例如:
type objectName = new type ( [paramlist] );
运算符 new 为对象分配内存空间 ,实例化一个对象 。new 调用对象的构造方法,返
回对该对象的一个引用(即该对象所在的内存地址)。用 new 可以为一个类实例化,
多个不同的对象。这些对象分别占用不同的内存空间,因此改变其中一个对象的状
态不会影响其它对象的状态 。
3.初始化对象
生成对象的最后一步是执行构造方法,进行初始化。由于对构造方法可以进行重写
,所以通过给出不同个数或类型的参数会分别调用不同的构造方法。
例子:以类 Rectangle 为例,我们生成类 Rectangle 的对象:
Rectangle p1=new Rectangle ();
Rectangle p2=new Rectangle (30,40);
这里,我们为类 Rectangle 生成了两个对象 p1、p2,它们分别调用不同的构造方法,
p1 调用缺省的构造方法(即没有参数),p2 则调用带参数的构造方法。p1、p2 分别对
应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。虽
然 new 运算符返回对一个对象的引用,但与 C、C++中的指针不同,对象的引用是指
向一个中间的数据结构,它存储有关数据类型的信息以及当前对象所在的堆的地址,
而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。
1.8.4 对象的引用
对象的使用包括引用对象的成员变量和方法,通过运算符·可以实现对变量的访问和方法的调
用,变量和方法可以通过设定一定的访问权限(见下面的例子)来允许或禁止其它对象对它的
访问。
我们先定义一个类 Point。
例子:
class Point{
int x,y;
String name = "a point";
Point(){
x = 0;
y = 0;
}
Point( int x, int y, String name ){
this.x = x;
this.y = y;
this.name = name;
}
int getX(){
return x;
}
int getY(){
return y;
}
void move( int newX, int newY ){
x = newX;
y = newY;
}
Point newPoint( String name ){
Point newP = new Point( -x, -y, name );
return newP;
}
boolean equal( int x, int y ){
if( this.x==x && this.y==y )
return true;
else
return false;
}
void print(){
System.out.println(name+" : x = "+x+" y = "+y);
}
}
public class UsingObject{
public static void main( String args[] ){
Point p = new Point();
p.print(); //call method of an object
p.move( 50, 50 );
System.out.println("** after moving **");
System.out.println("Get x and y directly");
System.out.println("x = "+p.x+" y = "+p.y); //access variabl
es of an object
System.out.println("or Get x and y by calling method");
System.out.println("x = "+p.getY()+" y = "+p.getY());
if( p.equal(50,50) )
System.out.println("I like this point!!!! ");
else
System.out.println("I hate it!!!!! ");
p.newPoint( "a new point" ).print();
new Point( 10, 15, "another new point" ).print();
}
}
运行结果为:
C:\java UsingObject
a point : x = 0 y = 0
**** after moving *****
Get x and y directly
x = 50 y = 50
or Get x and y by calling method
x = 50 y = 50
I like this point!!!!
a new point : x = -50 y = -50
another new point : x = 10 y = 15
1.引用对象的变量
要访问对象的某个变量,其格式为:
objectReference.variable
其中 objectReference 是对象的一个引用,它可以是一个已生成的对象,也可以是能够生成对
象引用的表达式。
例如:我们用 Point p=newPoint();生成了类 Point 的对象 p 后,可以用 p.x,p.y 来访问该点的 x、y
坐标,如
p.x = 10; p.y = 20;
或者用 new 生成对象的引用,然后直接访问,如:
tx=new point().x;
2.调用对象的方法
要调用对象的某个方法,其格式为:
objectReference.methodName ( [paramlist] );
例 如我们要移动类 Point 的对象 p,可以用
p.move(30,20);
虽然我们可以直接访问对象的变量 p.x、p.y 来改变点 p 的坐标,但是通过方法调用的方
式来实现能更好地体现面向对象的特点,建议在可能的情况下尽可能使用方法调用。
同样,也可以用 new 生成对象的引用,然后直接调用它的方法,如
new point(). move (30,20);
前面已经讲过,在对象的方法执行完后,通常会返回指定类型的值,我们可以合法地使
用这个值,如:例子中类 Point 的方法 equal 返回布尔值,我们可以用它来作为判断条件分别执
行不同的分支。如:
if (p.equal (20,30)){
...... //statements when equal
}else {
...... //statements when unequal
}
另外,类 Point 的方法 newPoint 返回该点关于原点的对称点,返回值也是一个 Point 类型,我们
可以访问它的变量或调用它的方法,如:
px = p.newPoint().x 或
px = p.newPoint(). getX();
1.8.5 成员变量
对象具有状态和行为,而对象的状态则是用变量或数据来描述的。在一个类中,对象的
状态是以变量或数据的形式定义的。
例如:
"盒子"的体积的状态主要是宽度、高度、和深度。因此在类定义"盒子"对象时,只
将这三个属性作为其主要的状态,并用变量的形式来描述,这些变量称为成员变量。而在对
象实例化后,这些变量称为实例变量。
1.8.6 成员变量定义格式
成员变量定义的一般格式为:
【Modifer】type variablelist;
其中,
type 指定变量的类型,它可以时 Java 的任意一种类型。
variablelist 是一组逗号隔开的变量名(变量列表),每个变量都可带有自己的初始化的表达
式。
例如:
xint ,z;
aint ,b=2,c=3;
Modifer 是定义变量的修饰符,它说明了变量的访问权限和某些使用规则。变量修饰符可以
是关键字 public、protected、private、final、static、transient 和 volatile 的组合。
1.8.7 成员变量的初始化
当成员变量含有自己的初始化表达式时,可以创建实例的方式使成员变量实例化。
例如:
class Box{
double width = 10;
double height= 15;
double depth=
}
变量 width、height、depth 是成员变量。在执行 Box myBox1 = new Box()语句之后,
new 运算符就创建了一个实例,并将变量分别赋初值为 10、15、20。在此时的变量 width、
height、depth 称为实例变量。
注意:在初始化表达式中,不能包含成员变量本身或同类的其他成员变量。例如,下面
的用法式错误的:
class Test{
int
int t =j;
int
}
错误有两个:一个式变量 k 的初始化涉及对 k 自身的访问;二式对 t 进行初始化时含有
对 j 的访问,而 j 的说明在其后。
1.8.8 成员变量的访问权限
成员变量或方法的访问权限是用访问权限修饰符来指定的。Java 的访问权限修饰符包括四种
显示方式修饰符和一种隐含方式修饰符,即:
1. 公用变量
用 public 说明的变量是公有变量。
访问权限:允许任何包中的任何类的变量访问。
例如:下面的代码中,在类 Alpha 中说明了一个公用变量 i_public,而在另一个类
Beta
中可以访问该变量。
class Alpha{
public int i_public ;
}
class Beta{
void accessmethod()
{
Alphaa= newAlpha();
a.i_public=10;
}
}
2. 私有变量
//说明公用变量 i_public
//访问公用变量 i_public
用 private 说明的变量是私有变量。
访问权限:只能被定义它的类的变量访问。
例如:下面的代码中,在类 Alpha 中说明了一个私有变量 i_private,其他类不允
许访问。
正确的访问格式:
class Alpha{
3. 保护变量
}
public int i_private ;
void accessmethod()
{
Alphaa= newAlpha();
a.i_private=10;
}
//说明私有变量 i_private
//访问私有变量 i_private
用 protected 说明的变量是保护变量。
访问权限:允许类自身、子类以及在同一个包中的所有类的变量访问。
例如:假定某个包 Geek 中含有两个成员类 Alpha 和 Beta,若在类 Alpha 中说明
了一个保护变量 i_protected,则在另外一个类 Beta 中可以访问该变量。
class Alpha{
public int i_protected;
void accessmethod()
}
class Beta
{
void accessmethod()
{
Alpha a= new Alpha();
a.i_protected=10;
}
}
4. 私有保护变量
//说明保护变量 i_protected
//访问保护变量 i_protected
用 private protected 说明的变量是私有保护变量。
访问权限:允许类自身以及它的子类变量访问。
例如:下面的两种访问方式是可行的。
(1) 在类中访问私有保护变量
例如:
class Alpha{
private protected int i_pri_prot ;
void accessmethod()
{
Alphaa= newAlpha();
}
}
a. i_pri_prot =10;
//访问私有保护变量 i_pri_prot
(2) 在子类中访问私有保护变量
例如:
class Alpha{
private protected int i_pri_prot=10 ;
}
class Beta extends Alpha
{
void accessmethod()
{
Alphaa= newAlpha();
}
}
a. i_pri_prot =30;
//访问私有保护变量 i_pri_prot
在程序执行时,变量 i_pri_prot 的值是 30,而不是 10;
5. 友好变量
如果一个变量没有显示地设置访问权限,则该变量为友好变量。
访问权限:允许类自身以及在同一个包中地所有类地变量访问。
例如:下面的类中定义了一个友好变量:
class Alpha{
int i_friendly ;
void accessmethod()
{
Alphaa= newAlpha();
}
}
a. i_friendly=10;
//访问友好变量 i_friendly
在了解了成员变量的访问权限之后,那么在说明每一个成员变量时,都可以按访问权限给变
量提供适当的保护措施,这样就加强了变量的安全性。
名称
公用
私有
保护
私有保护
访问权限修饰
public
private
protected
private protected
类
√
√
√
√
子类
√
√
√
包
√
*
所有类
√
√
友好
friendly
√
√
注:表中√的为可选,打*的说明有特殊限制。*号是针对子类访问保护变量而言,即一个子类只有与超类
在同一个包中,才可以访问超类对象的保护变量。
1.8.9 静态变量
用 static 说明的变量是静态变量。静态变量与其他成员变量有区别:其他成员变量必须通过
类的对象来访问,每个对象都有这些变量的备份;而静态变量独立于改类中的任何对象,它
在类的实例中只有一个备份,可以直接使用,而不必通过类的对象去访问,它一直属于定义
它的类,因此也称为类变量。类的所有对象都共享 static 变量。static 变量通常也称为全局变
量。
例如:
静态变量的定义和引用。首先在类 MyDemo 中定义了 static 变量 x,y 然后在类
MyStaticDemo 中输入变量 x 和 y 的值。
import java.awt.Graphics;
class MyDemo
{
static int x=80;
static int y=120;
}
class MyStaticDemo extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawString("x="+MyDemo.x+"y="+MyDemo.y,25,50);
}
}
程序运行结果:
x=80 y=120
在上面的程序中,在访问的静态变量 x 和 y 时,是通过类名 MyDemo 直接访问的。
static 也可以说明方法。用 static 说明的方法是静态方法或类方法,在实例中只有一
个备份。该方法具有以下约束:
a)
b)
c)
它们仅可以调用其他 static 方法。
它们仅可以访问 static 变量。
它们不能参考 this 或 super。
如果类的成员被定义为 static,则可以通过下面形式引用:
类名,成员名
这里,类名是定义 static 成员所属的类。Java 通过这样的方式,实现了全局方法和变量。
1.8.10 final 变量
用 final 说明的变量可以当作一个常量使用,不得对其进行任何修改。若某此变量为了
防止被修改,则定义变量时必须初始化一个 final 变量。在这一点上,final 与 C\C++的 const
相似。比如:
final int MONDAY=1;
final int TUSDAY=2;
final int WEDNESDAY=3;
......
以后程序可以把上述变量当作常量来使用,而不用担心其被修改。
final 变量用大写字母来表示,这是一种习惯约定。final 变量不占内存空间,实际上也
就是一个常数。
1.9 方法
1.9.1 方法的定义
方法也是类的一个成员,定义方法时在定义类的同时进行的。其一般格式为:
type name(parameter -list)
{
//方法体
}
格式说明:
(1) type 指定方法的返回类型,简称方法的类型,它可以是任何有效的类型,
包括类类型。方法的返回或带值返回都由 return 语句实现,当一个方法没
有返回值时,其 type 必须为 void,且 return 语句可以省略。
(2) name 指定方法名,方法名可以是合适的 Java 标识符。
(3) parameter-list 指定方法的参数列表,参数包括参数的类型和参数名,每个
参数用逗号隔开。在定义方法时,其参数将作为形参;在调用方法时,其
参数被称为实参。调用时是把实参的值传递给形参。入过方法没有参数,
参数列表为空,但括号"()"不能省略。
(4) 方法体包含了一组代码,它用于对数据处理。方法体用以对大括号"{}"括
起来。
例如:Box 类封装"盒子"的状态和行为,即数据变量和方法,用方法 volume 计
算 Box 对象的体积。
import java.awt.Graphics;
class Box
{
double width;
double height;
double depth;
void setDemo(double w,double h,double d)
{
width=w;
height=h;
depth=d;
}
}
double volume()
{
return width*height*depth;
}
class BoxDemo extends java.applet.Applet
{
public void paint(Graphics g)
{
double d_volume;
Box myBox = new Box();
myBox.setDemo(10,20,30); //调用方法 setDemo 给变量赋值
d_volumn = myBox.volume(); //计算体积
g.drawString("myBox 的体积是:"+ d_volumn,25,50);
}
}
程序运行的结果如下:
myBox 的体积是:6000
1.9.2 方法的访问权限
方法同成员变量一样,可以在定义时说明方法的访问权限,其说明格式和访问机制与成
员变量完全一样。
例如:私有方法、私有保护方法只能被同一个类中的方法调用,公用方法可以被其他类
的方法调用。
import java.awt.Graphics;
class Alpah1
{
pivateint i_private()
{
int x=10;
int y=20;
return x+y;
}
public int i_public1()
{
return i_private();
}
}
class Alpah2
{
public
public int x,y;
private protected int i_protected(int a,int h)
{
x=a;
y=b;
return x+y;
}
public void i_public2(int i,int j)
{
k=i_protected(i,j);
}
}
class Test extends java.applet.Applet
{
public void paint(Graphics g)
{
int p1;
Alpah1 ap1= newAlpah1();
Alpah2 ap2= newAlpah2();
p1=ap1.i_public1();
ap2. i_public2(50,50);
g.drawString("i_public1()的返回值是:"+p1,25,50);
g.drawString("i_public2()的返回值是:"+ap2.k,25,50);
}
}
程序运行的结果如下:
方法 i_public1()的返回值是:30
方法 i_public2()的返回值是:100
程序说明:
(1)在类 Alpah1 中,方法 i_private()是私有的,它只能被同类的方法 i_public1()调用。
而方法 i_public1()是公有的,它可以被另一类 Demo 中的方法 paint()调用。
(2)在类 Alpah2 中,方法 i_protected()是私有保护性的,它不能被其他类的方法调用,
而只能被同类(或子类)的方法 i_public2()调用。同样,方法 i_public2()也是公有的,它可
以被另一类 Test 中的方法 paint()调用。
(3)在方法 i_public1()中,语句 return i_private()执行的顺序为:先调用,后返回。其
返回值是 x+y 的和。
(4)在方法 i_public2(int i,int j)中,将形参 i 和 j 作为调用方法中的实参。
如:k=i_protected(i,j);
(5) 在类 Alpha2 中,定义了成员变量 k、x 和 y。其中 k 是公有的,它可被类 Test 中
的方法引用,其格式为:ap2.k;而变量 x 和 y 是私有的。它只能被同一类的方法引用。
(6)在类 Alpah1 方法 i_private()中,定义的变量 x 和 y 是局部变量。
局部变量作用域是:只能在定义它的方法中有效,即使同一类中的方法也不能引用。
例如:方法 i_public()是不能访问局部变量 x 和 y 的。
1.9.3 对象作为参数
例:给定两个数,按大小顺序输出。
import java.awt.Graphics;
class Test1
{
public int a,b;
void mov(int i,int j)
{
a=i;
b=j;
}
}
class Test2
{
void max(Test1 test1)
{
int c;
if(test1.a<test1.b)
{
c=test1.a; 引用 test1 对象的成员变量 a。
test1.a = test.b;
test1.b=c;
}
}
}
class MaxTest extends java.awt.Applet
{
public void paint(Graphics g)
{
Test1myTest1=new Test1();
Test2 myTest2 = new Test2();
myTest1.mov(45,55);
//调用 Test2 类的方法 max,并将对象 myTest1 作为实参。
myTest2.max(myTest1);
g.drawString("大小顺序为:"+ myTest1.a+","+myTest1.b,25,50);
}
}
1.9.4 对象作为返回值
下面的例子是把对象作为返回值的编程方法。
例如:利用方法返回对象的特性,实现对实例变量的值的递增。
import java.awt.Graphics;
class Test
{
public int a,b;
void mov( int i,int j)
{
a=i;
b=j;
}
Test max() //方法 max()的返回值类型是 Test 类型
{
Test myTest = new Test();
myTest.mov(a+10,b+10);使实例变量的值增 10。
return myTest;
}
}
class OutMyDemo extends java.applet.Applet;
{
public void paint(Graphics g)
{
Test p1 = new Test();
Test p2;
p1.mov(15,55);
g.drawString("p1 的实例变量值:a="+pa1.a+",b="+pa1.b,25,75);
p2=p2.amx();
g.drawString("p2(p2 加 10)的值:a="+p2.a+",b="+p2.b,25,100);
}
}
程序运行的结果如下:
p1 的实例变量值:a=15,b=55;
p2(p1 加 10)的值:a=15,b=65;
p2(p2 加 10)的值:a=35,b=75;
1.10 构造方法
1.10.1构造方法概述
构造方法是一个在创建对象初始化的方法,它具有与类相同的名字。事实上,除了构造
方法,在类中不能再有别的方法与类同名。一旦定义了构造方法,在执行 new 操作期间,
首先创建对象,然后自动调用构造方法将对象初始化。
与其他方法不同,构造方法必须在 new 运算符中引用,而不能按引用一般方法的格式
去引用构造方法。
在同一个类中,允许定义多个构造方法。这些构造方法是以参数的个数来区分的。在创
建对象时,程序员应当根据参数的个数和类型来选择合适的构造方法。
如果一个类中没有包含构造的说明,将提供隐含的构造方法,隐含的构造方法没有参数,
它将调用超类中不带参数的构造方法,如果超类中没有不带参数的构造方法,将产生编译错
误。
构造方法有些特殊,它没有返回类型甚至 void。因为构造方法的缺省返回类型是类类型
本身。构造方法的另一个特殊性是它不能继承超类。
例子:
import java.awt.Graphics;
class Test
{
double width;
double height;
double depth;
Test(double w,double h,double d) //定义构造方法 Box()
{
width = w;
height = h;
depth=d;
}
double volume()
{
return width*height*depth;
}
}
class Testing extends java.applet.applet
{
public void paint(Graphics g)
{
double d_volume;
Test test = new Test()//new 运算符创建对象 test 后,随即对 test 初始化。
}
}
d_volume = test.volume();//计算体积
g.drawString("test 的体积是:"+d_volume,25,50);
程序运行的结果如下:
test 的体积是:6000
1.10.2构造方法的访问权限
在定义构造方法时可以对他们附加访问修饰符,它们时:
pulic(公有型的构造方法)
private (私有型的构造访问)
proected (保护型的构造方法)
private protected (私有保护型的构造方法)
这四种方法访问修饰符的权限范围和方法的访问权限的范围一样。构咱方法的访问修饰符不
能是 abstract、static、final、native 或 synchronized;
1.11 方法重载
在 java 中,可以在同一个类中定义多个同名的方法,只要它们的参数列表不同,这叫做方
法的重载(Overload)。方法重载是 Java 最具有吸引力的有利特征。
当一个重载方法被激起时,Java 便根据参数的类型和数目确定被调用的方法。这样,重载方
法之间一定具有不同的参数列表,包括参数的类型和数目。
例:给定两个或三个数,将它们由大到小按顺序输出。
import java.awt.Graphics;
class Test
{
double max1,max2,nax3;
Test()
{
max1=-1;
maxe2=-1;
max3=-1;
}
void sort(double i,double j)
{
double s;
max1=i;
max2=j;
if( max1<max2)
{
s=max1;
max1=max2;
}
}
max2=s;
}
void sort(double I,double j,double k)
{
double s;
max1=i;
max2=j;
max3=k;
if(max1<max2)
{
s=max1;
max1=max2;
max2=s;
}
if(max1<max3)
{
s=max1;
max1=max3;
max3=s;
}
if(max2<max3)
{
s=max2;
max2=max3;
max3=s;
}
}
class outMaxTest extends java.awt.Applet
{
public void paint(Graphics g)
{
Testt1=new Testt();
t1.sort(200,300);
g.drawString("两个数的大小顺序为:"+ t1.max1+","+t1.max2,25,10);
t1.sort(100.9f,200.9f,300.9f);
g.drawString("三个数的大小顺序为:"+ t1.max1+","+t1.max2+","+t1.max3,25,30);
}
}
程序运行的结果如下:
两个数的大小顺序为:300,200
三个数的大小顺序为:300.9,200.9,100.9
在上面的代码中,类 Test 中定义了三个方法:
Test()是一个无参的构造方法,它在创建对象之后紧接着对变量进行初始化。如果没有该
方法,在创建对象时将产生编译错误。因为类 Test 是直接超类。
两个 sort()是排序方法,它们是用参数的数目来区分的,这两个 sort()方法能对任
何数字类型的数据进行排序。当然,对多个数据进行排序最好用数组来实现。
1.12 this
1.12.1用 this 引用成员变量
例子:在构造方法中使用 this,this 代表当前对象的引用参考,并将参数值赋值到成员
变量 max1、max2 和 max3 中。
import java.awt.Graphics;
class Test
{
double max1;
double max2;
double max3;
Test(double i,double j)
{
this.max1=i;
this.max2=j;
this.max3=k;
}
}
class Test1 extends java.awt.Applet
{
public void paint(Graphics g)
{
Test t = new Test(10,20,30);
g.drawString(t.max1+","+t.max2+","+t.max3,25,30);
}
}
程序运行的结果如下:
10,20,30
1.12.2在构造方法中用 this 调用一般方法
例子:在构造方法中使用 this 调用 sort()方法。
import java.awt.Graphics;
class Test
{
double max1,max2,max3;
Test(double i,double j)
{
max1=i;
max2=j;
this.sort(i,j); //调用 sort 方法,将两个数排大小顺序。
}
Test(double i,double j,double k)
{
max1=i;
max2=j;
max3=k;
this.sort(i,j,k) //调用 sort 方法,将三个数排大小顺序。
}
void sort(int i,double j)
{
double s;
if(max1<max2)
{
s=max1;
max1=max2;
max2=s;
}
}
void sort(double i,double j,double k)
{
double s;
if(max1<max2)
{
s=max1;
max1=max3;
max2=s;
}
if(max1<max3)
{
s=max1;
max1=max3;
}
max3=s;
}
}
if(max2<max3)
{
s=max2;
max2=max3;
max3=s;
}
class ThisTest extends java.applet.Applet
{
public void paint(Graphics g)
{
Test t1 = newTest(10,100);
g.drawString("两个数的大小顺序为:"+t1.max1+","t1.max2,25,10);
Test t2 = new Test(100,10,1000);
g.drawString("三个数的大小顺序为:"+t2.max1+","t2.max2+","+t2.max3,25,30);
}
}
程序运行的结果如下:
两个数的大小顺序为:100,10
三个数的大小顺序为:1000,100,10
1.12.3在方法中用 this 调用另外一个方法
例子:在上面的例子上加一个方法 mov(),在 mov()中引用 this 再调用 sort()方法。
import java.awt.Graphics;
class Test
{
double max1,max2,max3;
Test(double i,double j)
{
max1=i;
max2=j;
this.sort(i,j); //调用 sort 方法,将两个数排大小顺序。
}
void sort(int i,double j)
{
double s;
if(max1<max2)
}
{
}
s=max1;
max1=max2;
max2=s;
}
void mov(double i,double j)
{
max1=i;
max2=j;
this.sort(i,j);
}
class ThisTest extends java.applet.Applet
{
public void paint(Graphics g)
{
Test t1 = newTest(10,100);
t1.mov(20,200);
g.drawString("两个数的大小顺序为:"+t1.max1+","t1.max2,25,10);
}
}
程序运行的结果如下:
两个数的大小顺序为:200,20
注意:再初始化之后,变量 max1 和 max2 的值分别为 10 和 100,当调用 mov()之后,
其值为 20 和 200。
1.13 类的继承
继承是面向对象程序设计的重要概念之一。在 java 中,被继承类称为超类,继承称为
子类。通过继承可使子类继承超类的特征和功能。其基本规则如下:
(1) 子类可继承其超类的代码和数据,即在子类中可以直接执行超类的方法和访问超类
的数据。
(2) 在子类中可以增加超类中没有的变量和方法。
(3) 在子类中可以重新定义超类中已有的变量(包括实例变量和类变量)。变量的重新
定义被称为变量的隐藏,也就是说,在子类中允许定义与超类同名的变量。
(4) 在子类中可以重载超类中已有的方法(包括构造方法、实例方法和类方法)。
(5) 在子类的构造方法中,可以通过 super()方法将超类的变量初始化。
(6) 当超类为抽象类时,子类可继承超类中的抽象方法,并在子类中去实现该方法的细
节。
1.13.1 创建子类
实现继承要用 extends 关键词,其格式如下:
子类名 extends 超类名
(1) 继承超类的方法和变量
例子:给定三个数,将它们按大到小的顺序输出。在下面的程序中,子类 Test1
继承超类 Test 的全部代码和变量。在子类的方法中,调用超类的方法 sort()和更
新数据。
import java.awt.Graphics;
class Test
{
double max1,max2,max3;
Test()
{
max1=-1
max2=-1;
max3=-1;
}
void sort()
{
double s;
if(max1<max2)
{
s=max1;
max1=max2;
max2=s;
}
if(max1<max3)
{
s=max1;
max1=max3;
max3=s;
}
if(max2<max3)
{
s=max2;
max2=max3;
max3=s;
}
}
}
class Test1 extends Test
{
void subsort(double i,doublej,double k)
{
max=i;
max2=j;
max3=k;
sort(); //调用超类 Test 中的方法 sort()
}
}
class SortTest extends java.applet.Applet
{
public void paint(Graphics g)
{
Test1t1 =new Test1();
t1.subsort(100,.300,200);
g.drawString("三个数的大小顺序为:"+t1.max1+","t1.max2+","+t1.max3,25,30);
}
}
程序运行的结果如下:
三个数的大小顺序为:300,200,100
(2) 隐藏实例变量和类变量
在子类中,若定义了与超类同名的变量,则只有子类中的变量有效,而超类中
的变量无效。
例:数据求和。
import java.awt.Graphics;
class Test
{
double sum,num1,num2;
static int num3;
Test()
{
num1=0;
num2=0;
num3=0;
sum=0;
}
}
class Test1 extendsTest
{
int sum,num1,num2; //隐藏超类 Test 中的实例变量
static int num3;
//隐藏超类 Test 中的类变量
}
void sum(int i,int j,int k)
{
num1=i;
num2=j;
num3=k;
sum=num1+num2+num3;
}
class SumTest extends java.awt.Applet
{
public void paint(Graphics g)
{
Test1t1 =new Test1();
t1.sum(100,200,300);
g.drawString("sum="+
t1.num1+"+"+t1.num2+"+"+t1.num+"="+t1.sum,25,30);
}
}
程序运行的结果如下:
sum=100+200+300+=600
(3)访问权限
尽管子类可以继承超类的所有成员,但子类不能继承超类中的私有变量和方法,而只能
继承如下变量和方法。
.超类中定义为公有的、私有保护的或保护的成员变量和方法可被子类访问。
.同一个包中的超类的友好变量和方法可被子类访问。
(4)用继承的方法来扩充超类的功能
如果子类只继承超类的代码和数据是没有多大意义的,对继承来说,其真正的目的是想
通过子类来扩充超来的功能,只有这样,才能有效发挥继承的作用。
例:从超类 Box 中只计算"盒子"的体积,但在子类 SubBox 中不仅只计算"盒子"的
体积,而且还能求得它重量。
import java.awt.Graphics;
class Box
{
double width;
double height;
double depth;
Box(double w,double h,double d)
{
width=w;
height=h;
}
Box()
{
depth=d;
}
width=-1;
height=-1;
depth=-1;
}
double volume()
{
return width*height*depth;
}
class SubBox extends Box
{
double weight;
SubBox(double w,double h,double d,double m)
{
width=w;
height=h;
depth=d;
weight=m;
}
}
class Test extends java.awt.Applet
{
public void paint(Graphics g)
{
double d_volume;
Box box1=new Box(10,20,30);
d_volume=box1.volume();
//计算 box1 的体积
}
}
g.drawString("box1 的体积是:"+d_volume,25,50);
SubBox subBox = new SubBox(15,15,20,40);
d_volume= subBox.volume();
g.drawString("subBox 的体积是:"+d_volume,25,75);
g.drawString("subBox 的体积是:"+subBox.weight,25,90);
程序运行的结果如下:
box1 的体积是:6000;
subBox 的体积是:4500
subBox 的重量是:40
1.13.2 重载超类的方法
要使多态性在程序中设计运用成功,不仅要求超类给子类提供可直接使用的元素,更重要的
是在类层次结构中具有一致的接口,使子类在超类的基础上扩充超类的功能。
例:超类 Test 中方法 sort()实现对 n 个整个升序排列,子类 Test1 中的 sort()实现对 n 个整数
按降序排列。
import java.awt.Graphics;
class Test
{
int
Test()
{
i=j=k=swap=0;
}
void sort(int t1,int t2[ ]) //用选择法按升序排列
{
for(int i=0;i<t1-1;i++)
{
k=i;
for(i=0;i<t1-1;j++)
{
if(t2[j]<t2[k])
{
k=j;
}
if(k!=i)
{
swap=t2[i];
t2[i]=t2[k];
t2[k]=swap;
}
}
}
}
}
class Test1 extends Test
{
void sort(i=0;i<t1-1;i++)//重载超类中的方法 sort(),用选择法按降序排列
{
for(int i=0;i<t1-1;i++)
{
k=i;
for(i=0;it2[k])
{
k=j;
}
if(k!=i)
{
swap=t2[i];
t2[i] =t2[k]
t2[k]=swap;
}
}
}
}
}
class SortTest extends java.awt.Applet
{
public void paint(Graphics g)
{
int a[]={34,12,8,67,88,23,98,101,119,56};
g.drawString("排序前的数据为:",20,10);
for(int i=0;i<10;i++)
{
g.drawString(""+a[i],20+i*30,30);
}
Test t1=new Test();
t1.sort(a.lenght,a);
//调用 Test 类的方法
g.drawString("按升序排列的数据为:",20,50);
for(int i=0;i<10;i++)
{
}
g.drawString(""+a[i],20+i*30,70);
}
}
Test1 t2=new Test2();
t2.sort(a.lenght,a);
g.drawString("按降序排列的数据为:",20,90);
for(int i=0;i<10;i++)
{
g.drawString(""+a[i],20+i*30,110);
}
程序运行的结果如下:
排序前的数据为:
34 12 8 67 88 23 98 101 119 56
按升序排列的数据为:
8 12 23 34 56 67 88 98 101 119
按降序排列的数据为:
119 101 98 67 56 34 23 12 8
1.13.3 super
super 是一个方法,其格式为:
super(parameter-list)
其中,parameter-list 是参数列表。super()的作用是调用超类的构造方法。降超类中的变量初
始化。super()总是用于子类的构造方法中,而且在子类的构造方法中最先执行 super().因此,
只有 parameter-list 与超类的构造方法中的参数相匹配,才能有效调用超类的构造方法去实现
对超类的变量初始化。同时,在子类中也减少了初始化编码的重复工作。
super()的用法请见下面的例子:
例:在下面的例子里,将子类的构造方法中的赋初值改用 super()方法来完成
import java.awt.Graphics;
class Box
{
double width;
double height;
double depth;
Box(double w,double h,double d)
{
width=w;
height=h;
depth=d;
}
Box()
{
}
width=-1;
height=-1;
depth=-1;
}
double volume()
{
return width* height* depth;
}
class SubBox extends Box
{
double weight;
SubBox(double w,double h,double d,double m)
{
super(w,h,d);
weight=m;
}
}
class BoxTest extends java.awt.Applet
{
public void paint(Graphics g)
{
double d_volume;
Box box1=new Box(10,20,30);
d_volume=box1.volume();
//计算 box1 的体积
}
}
g.drawString("box1 的体积是:"+d_volume,25,50);
SubBox subBox = new SubBox(15,15,20,40);
d_volume= subBox.volume(); //计算 subBox 的体积
g.drawString("subBox 的体积是:"+d_volume,25,75);
g.drawString("subBox 的体积是:"+subBox.weight,25,90);
程序运行的结果如下:
box1 的体积是:6000;
subBox 的体积是:4500
subBox 的重量是:40
但要注意的是:
(1) super(w,h,d)用于子类的构造方法 SubBox()中。
(2) super(w,h,d)中的参数应与超类的构造方法参数相匹配,即参数个数及类型
一样。
1.13.4 abstract
当要求将一个超类定义为抽象类时,前面加关键字 abstact。其格式如下:
abstract 类型 类名{}
abstract 的作用是说明该类是一种抽象结构。抽象结构的类包含了一些抽象的方法,而这些
抽象方法只有方法的形式,即方法体是空的,方法体的细节由子类去实现。抽象方法的定义
也由关键字 abstract 来说明,其格式为:
abstract 类型 方法名{parameter-list};
{
其中,parameter-list 是参数列表。因此,整个抽象类的结构如下形式:
成员变量 1;
。。。。。
构造方法
。。。。。。
abstract 类型 方法名(parameter-list);
}
抽象类的定义也是多态的一种体现。因为多态性具有子类重载超类中的方法的特性,而在超
类中只限定子类重载规定的方法,但这些方法的细节必须由子类来完成。所有,常把这样的
类作为抽象类。
抽象类不能直接用 new 运算符实例化一个对象。抽象方法只能是实例化方法,它不包括子
类对象。
例:在抽象类 Test 中,定义一个抽象方法 sort(),并在子类 Test1,Test2 中,分别去实现超类中
的抽象方法 sort()的细节,从而分别完成对 n 个整数的降序、升序的排列。
import java.awt.Graphics;
abstract class Test
{
int i,j,k,swap;
Test()
{
i=j=k=swap=0;
}
abstract void sort(int t1,int[] t2); //定义一个抽象的方法。
}
class Test1 extends Test
{
void sort(int t1,int t2[ ]) //重载超类的方法 sort(),用选择法按降序排列
{
for(int i=0;i<t1-1;i++)
{
k=i;
}
}
for(i=0;it2[k])
{
k=j;
}
if(k!=i)
{
swap=t2[i];
t2[i]=t2[k];
t2[k]=swap;
}
}
class Test2 extends Test
{
void sort(int t1,int t2[ ]) //重载超类的方法 sort(),用选择法按升序排列
{
for(int i=0;i<t1-1;i++)
{
k=i;
for(i=0;i<t1-1;j++)
{
if(t2[j]<t2[k])
{
k=j;
}
if(k!=i)
{
swap=t2[i];
t2[i]=t2[k];
t2[k]=swap;
}
}
}
}
class SortTest extends java.awt.Applet
}
{
public void paint(Graphics g)
{
int a[]={34,12,8,67,88,23,98,101,119,56};
//Test k=new Test(); 此句是非法的,不能创建实例对象。
Test1 k1=new Test1();
k1.sort(a.length,a);
g.drawString("按降序排列的数据为",20,10);
for(int i=0;i<10;i++)
{
g.drawString(""+a[i],20+i*30,30);
}
Test2 t2=new Test2();
t2.sort(a.lenght,a);
g.drawString("按升序排列的数据为:",20,50);
for(int i=0;i<10;i++)
{
g.drawString(""+a[i],20+i*30,70);
}
程序运行的结果如下:
按降序排列的数据为:
119 101 98 67 56 34 23 12 8
按升序排列的数据为:
8 12 23 34 56 67 88 98 101 119
通过本例可以发现抽象类的好处:从一个抽象类可以派生出多个子类,而且在各个子类中允
许对同一个抽象方法产生不同的方法体。
1.13.5 final
final 有三个用途:其一,可以用于创建与常量一样的变量,其二,另外 2 个用途就是防止
类被继承或方法被重载。
1. 最终类
Java 引入了最终类的概念,所谓最终类既是那些不能再有子类的类。说明最终类时可以
在最前面加上修饰符 final。
例:final class A
{
//....
}
class B extends A //错误!不能从 A 类派生
{
//.......
}
注意:不能将一个抽象类说明为 final 类,因为抽象类必须要被派生类来实现它的抽象
方法。当一个类被说明为 final 类后,也相当于隐式的说明了它的所有方法为 final。
1.14 java 包,接口和异常
包是类的容器,用于保证类名空间的一致性。包以层次结构组织并可被明确地引入到一
个新类定义。
接口是方法的显示说明,利用接口可以完成没有具体实现的类。接口虽然与抽象类相似,
但它具有多继承能力。一个类可以有无数个接口,但是只能从一个父类派生。
异常是代码运行时出现地非正常状态。Java 的异常是一个出现在代码中描述异常状态的
对象。每当一个异常情况出现,系统就创建一个异常对象,并转入到引进异常的方法中,方
法就根据不同的类型捕捉异常。为防止由于异常而引起的退出,在方法退出前应执行特定的
代码段。
1.14.1 包
1.14.1.1 package 语句
包是一种命名和可视控制的机制,用户可以把某些类定义在一个包
中,也可以对定义在这个包中的类施加访问权限,以限定包外或包
内的程序对其中的某些类进行访问。
定义包的格式:
package pkg;
Java 的文件系统将存储和管理这个包。例如:属于 pkg 包中的.class
文件将存储到目录 pkg。注意:目录与包的名字完全一样。
package 语句可以创建包的层次结构,通过使用逗号,把每个包分开。
多级包层次结构的一般格式为:
package pkg1[.pkg2[.pkg3]]
包层次结构必须反映 Java 开发系统的文件系统。比如:pacakge
java.awt.Image;
1.14.1.2 import 语句
import 语句的功能是引入包或包中的类。它们必须位于 package 语
句与这个文件的类或接口之间。
格式:import pkg1[.pkg2.(classname|*)]
这里,pkg1 是顶层包名,pkg2 是下一层包名,其间用点隔开。除了
对文件系统的限制外,对包的层次深度没有限制。最后以一个显示
方式指定一个类名 classname 或*号,星号*指示 Java 编译器应该引入
整个包。
例子:
import java.awt.Image;
import java.lang.*;
1.14.2 接口
1.14.2.1 接口的概念
接口与类存在着本质的差别,类有它的成员变量和方法,而接口只有
常量和方法协议,从概念来讲,接口是一组方法协议和常量的集合。
接口在方法协议与方法体实体之间只起到一种称之为界面的作用,这
种界面限定了方法实体中的参数类型一定要与方法协议中所规定的
参数类型保持一致,除此以外,这种界面还限定了方法名、参数个数
及方法返回类型的一致性。因此,在使用接口时,类与接口之间并不
存在子类与父类的那种继承关系,在实现接口所规定的某些操作时只
存在类中的方法与接口之间保持一致的关系,而且一个类可以和多个
接口之间保持这种关系,即一个类可以实现多个接口。
1.14.2.2 接口的定义
格式:
access interface name
{
return method-name(parameter-list);
type final-varname=value;
}
其中,access 是访问修饰符。它只有 public 和未指定访问修饰符
两种情况。当未指定访问修饰符时,该接口只能为同一个包中的
其他成员所用;当 public 修饰符说明时,该接口可以被其他任何
代码使用。name 是接口的名字,可以是任何有效的标识符。接
口体包括方法协议和常量,它们都用分号结束。在接口中定义的
常量必须用变量名标识。他们隐式为 final 和 static,不能被实现
类所改变。
例:interface Back
{
void c_back(int param);
int SOON=4;
}
该接口定义了一个方法协议,其参数为整数类型;还定义了一整
数常量,其变量名为 SOON。该接口只能为同一个包中其他成员
所用。
1.14.2.3 接口的实现
一旦接口被定义,类就可以实现它。在类的定义中可以使用关键
字 implements 实现接口,然后在类中创建接口中所定义的方法,
implements 关键字的类的格式:
access class classname[extends superclass] [implements
interfacename[,interface...]]
{
}
.....
例子:定义两个接口,其方法协议分别完成两个数的加法和减法
操作,然后分别实现这两个接口的方法。
import java.awt.Graphics;
interface Demo_Add
{
public int add(int x,int y);
}
interface Demo_Sub
{
public int sub(int x,int y);
}
class Demo_Add_Sub implements Demo_Add, Demo_Sub
{
public int add(int x,int y)
{
return i+y;
}
public int sub(int x,int y)
{
return x-y;
}
}
public class Add_Sub extends java.awt.Applet
{
public void paint(Graphics g)
{
Demo_Add_Sub k=new Demo_Add_Sub();
g.drawString("x+y="+k.add(30,10),30,30);
g.drawString("x-y=" + k.sub(30,10),30,50);
}
}
程序运行结果如下:
x+y=40;
x-y=20;
1.14.2.4 接口的继承
一个接口可以继承其他接口,这可通过关键字 extends 来实现,其语
法与类的继承相同。当一个类实现一个派生接口时,必须实现所有
接口及其派生接口中所定义的全部方法协议。
例:定义 5 个接口,其中两个超接口。
import java.awt.Graphics;
//定义接口 Test_C
interface Test_C
{
public int add(int x,int y);
}
interface Test_B extends Test_C
{
public int sub(int x,int y);
}
interface Test_A extends Test_B
{
public int mul(int x,int y);
}
//定义接口 Test_Y
interface Test_Y
{
public int div (int x,int y);
}
interface Test_X extends Test_Y
{
public int mod (int x,int y);
}
//定义类 Test
class Test implements Test_A ,Test_X
{
public int add(int x,int y)
{
return x+y;
}
public int sub(int x,int y)
{
}
return x-y;
}
public int mul(int x,int y)
{
return x*y;
}
public int div (int x,int y)
{
return x/y;
}
public int mod (int x,int y)
{
return x%y;
}
public class Add_Mod extends java.awt.Applet
{
public void paint(Graphics g)
{
Test k =new Test();
g.drawString("x+y="+k.add(66,10),30,10);
g.drawString("x-y="+k.sub(66,10),30,10);
g.drawString("x*y="+k.mul(66,10),30,10);
g.drawString("x/y="+k.div(66,10),30,10);
g.drawString("x%y="+k.mod(66,10),30,10);
}
}
程序运行结果如下;
x+y=76
x-y=56
x*y=660
x/y=6
x%y=6
注意:在类中实现一个接口时,任何类都必须实现该接口或接口树的所有方法。
1.14.3 异常处理
所谓异常就是代码在运行时发生的非正常状态。Java 的异常是一个出现在代码中描
述异常状态的对象。每当出现一个异常情况,就创建一个异常对象,并向导致错误
的方法中抛出该对象。该方法捕捉到异常对象之后,可以选择用来处理该异常或不
管它。异常通常由 Java 运行系统产生,或者由用户的程序代码产生。Java 抛出的异
常大多是用户违背了 Java 语言的基本规则,或者超出了 Java 执行环境的约束。
1.14.4 异常处理机制
Java 通过 5 个关键字 try、catch、throw、throws 和 finally 管理异常处理。
try 用来监视它所在的那个程序块是否发生异常,如果发生异常就抛出它。对于系统
产生的异常或程序块中未用 try 监视所产生的异常,将一律被 Java 运行系统自动抛
出。
catch 用来捕捉 try 程序所抛出的异常,将一律被 Java 运行系统自动抛出。
throw 可以用以人工地抛出一个异常
throws 用于从一个方法中抛出一个异常。
finally 用于调用缺省异常处理。
下面是异常处理地一般形式:
try
{
//有可能会出错地代码块,被 try 监视。
}
catch(ExceptionType1 ex)
{
//关于 ExceptionType1 的异常处理
}
catch(ExceptionType2 ex)
{
//关于 ExceptionType2 的异常处理
}
//......
finally
{
//在 try 块结束前被执行的代码块。
}
1.2 常用类
System 类
全称:java.lang.System
扩展:Object
描述:公有最终类。此类与 Runtime 一起可以访问许多有用的系统功能。有一些方法在
两个类中都出现。exit()、gc()、load()和 loadLibrary()可以通过调用 Runtime 中的同名方
法来响应。特别有用的是类变量 err、in 和 out,它们可以访问基本控制台 I/O。System
类完全由类域组成,这些类域可以通过"System.变量名"和"System.方法()"的方法
进行访问。此类不能被实例化。
实例变量:
public static PrintStream err;
public static InputStream in;
public static PrintStream out;
每个变量对整个程序而言都是唯一的对象变量。这些对象可以访问系统的输入、输出和
错误输出。
常用类方法:
void exit(int status)
导致 Java 程序退出,向系统传递指定的状态代码。
void gc()
请求立即激活垃圾收集器开始清除不再使用的对象。
String getProperty(String key)
String getProperty(String key,String def)
在系统属性表中查找的一个属性。如果未发现属性,而且在 getProperty()方法中指定了
参数 def,那么返回 def。
SwingUtil.ities 类
全称:javax.swing.SwingUtilities
扩展:Object
描述:公用类。此类中包含了一组在 Swing 工具包中使用的帮助器方法
常用类方法:
void paintComponent(Graphics g,Component c,Container p,int x,int y,int w,int h);
void paintComponent(Graphics g,Component c,Container p,Rectangle r);
void invokeLate(Runnable doRun);
boolean isEventDispatchThread();
Component getRoot(Component c);
JRootPane getRootPane(Component c);