|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,
除尺度的org.apache.struts.action.Action类外,在Struts中还供应了别的7个Action类来完成特别的事情。本文及前面的文章中将先容这些Action类的用法。
1、DownloadAction类简介
大概偶然必要在Web程序中到场下载功效。假如要下载的是静态文件,能够间接交给Web服务器处置,但假如要对下载的文件做分外的功效,如统计文件的下载次数。就必要鄙人载文件之前先要挪用响应的程序举行处置。
固然我们能够间接在Action子类中来处置下载文件,可是假如如许的程序对照多时,就会写良多反复的代码。为了简化这个事情。Struts供应了一个新的Action类:DownloadAction。一切承继了DownloadAction类的Struts举措都能够十分简单地完成下载文件的事情。
DownloadAction类有一个笼统办法getStreamInfo。这个办法的界说以下:- protectedabstractStreamInfogetStreamInfo(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException;
复制代码 getStreamInfo办法前往一个StreamInfo对象。StreamInfo接口是DownloadAction类的一个外部接口,这个接口的界说以下:- publicstaticinterfaceStreamInfo{publicabstractStringgetContentType();publicabstractInputStreamgetInputStream()throwsIOException;}
复制代码 从下面的代码能够看出,StreamInfo接口有两个办法。个中getInputStream办法前往了服务端要下载的文件的InputStream对象。getContenttType办法前往了HTTP呼应动静头字段Content-Type的信息。在getStreamInfo办法中只需前往了完成这两个办法的StreamInfo对象,就能够主动完成下载事情。
为了便利起见,DownloadAction类中还供应了两个完成StreamInfo的内类:FileStreamInfo和ResourceStreamInfo。这两个类的机关办法的界说以下:- publicFileStreamInfo(StringcontentType,Filefile);publicResourceStreamInfo(StringcontentType,ServletContextcontext,Stringpath);
复制代码 我们可使用FileStreamInfo类来下载静态的文件。假如要下载的文件在Web根目次,可使用ResourceStreamInfo类。个中path参数暗示文件相对Web根目次的路径,必需以“/”开首,暗示从Web根目次入手下手。
2、实例:统计文件的下载次数
在本节中将利用DownloadAction类完成一个统计文件下载次数的Web程序。这个程序的基础道理是当一个文件下载完成后,加这个文件在数据库中的下载次数加1,假如某个文件是第一次下载,则在数据库中增加一条新纪录,下载次数为1。
为了完成这个Web程序,必要以下几步:
【第1步】创建用于保留文件下载次数的数据表
在本例中我们利用名为struts数据库,而且在struts数据库中创建一个t_dcount表,代码以下:- CREATETABLEstruts.t_dcount(idINTNOTNULL,countINTNOTNULL,filenameVARCHAR(256)NOTNULL,PRIMARYKEY(id))ENGINE=InnoDBDEFAULTCHARSET=gbk;
复制代码 <p>
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发 |
|