
正文
java将jsp代码压缩 java压缩文件代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于jsp中的问题
其实它们都是JSP的语法,刚学的话可以先看看JSP的语法,看得多了见的多了就明白了。
在通常的jsp代码中,脚本标识使用的比较频繁,包括以下三种元素:声明标识,JSP表达式和脚本程序。
%=a.getId()%中的%= %是jsp的表达式脚本标识,用于向页面输出信息
%=a.getId()%将输出 a.getId()的结果
再举个例子:
% String name ="楼主" %
用户名:%=name%
以上代码运行结果为如下:
用户名:楼主
下面是部分的JSP语法,楼主可以在网上找到更多的资料来学习
1.page指令
page指令的设置语法格式是:%@ page attribute1=”value1” attribute2=”value2”…%
下面介绍指令中包括的几个常用属性,并作简要说明。
l import
import指令是所有page指令中,唯一可以多次设置的指令,而且累加每个设置。它用来指定jsp网页中所需要使用到的一些类。例如:
%@ page import=”java.io.*,java.util.Date”%
l session
定义当前页面是否参与http会话。当设置为”true”时,可以获得隐含名为session的对象,为”false”时,则不能。默认设置为”true”。
l contentType
设置jsp网页输出时数据时,所使用的字符压缩方式,以及所使用的字符集,当编写中文网页时,设置如下:
%@page contentType=”text/html;charset=Gb2312”%
此属性的默认值为”text/html;charset=ISO-8859-1”。
l buffer
设置jsp网页的缓冲区大小,默认为”8k”,如果设置为”none”,则表示不使用缓冲,所有的响应输出都将被PrintWriter直接写到ServletResponse中。
l isTreadSafe
定义当前页面是否支持线程安全。如果为”true”,则该页面可能同时收到jsp引擎发出的多个请求,反之,jsp引擎会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。默认为”true”。
l info
设置页面的文本信息,可以通过Servlet.getServletInfo()的方法获得该字符串。
l errorPage
定义指向另一个jsp页面的URL。当页面出现一个没有被捕获的异常时,错误信息将以throw语句抛出,而被设置为错误信息网页的jsp页面,将利用exception隐含对象,取得错误信息。
默认没有错误处理页面。
l isErrorPage
设置此jsp网页是否为错误处理页面。默认值为”false”。当设置为”true”时,jsp页面将可存取隐含的exception对象,并通过该对象取得从发生错误之网页所传出的错误信息。取得错误信息的语法如下:
% =exception.getMessage()%
² 一个页面错误处理的例子
产生错误的页面文件为MakeError.jsp,处理错误的页面文件为ErrorPage.jsp,它们的源程序如下:
MakeError.jsp
%@ page errorPage="ErrorPage.jsp"%
html
head
title产生错误页面/title
/head
body
%
int i=8,j=0;
out.println(ij);
%
/body
/html
ErrorPage.jsp
%@ page isErrorPage="true"%
html
head
title错误处理页面/title
/head
body
font color=red
错误原因:%=exception.getMessage()%
/font
/body
/html
2.include指令
使用include指令可以把其他的文本文件加入到当前的jsp页面,格式如下:
%@ include file=”header.inc”%
如此,则在当前页面中加入header.inc源代码然后再编译整个文件。
可以使用include指令把一个页面分成不同的部分,最后合成一个完整的文件,使用jsp的include指令有助于实现jsp页面的模块化。
3.taglib指令
该指令主要是在JSP页面插入插件!具体的用法尚不熟悉~
接下来说说JSP页面中的标准动作吧!
标准动作元素用于执行一些常用的JSP页面动作,例如:将页面转向、使用JavaBean、设置JavaBean的属性等。在JSP中,标准动作元素共有以下几种:
l jsp:param
l jsp:include
l jsp:forward
l jsp:plugin
l jsp:useBean
l jsp:setProperty
l jsp:getProperty
其中jsp:useBean、jsp:setProperty、jsp:getProperty这三个是专门用来操作JavaBeans的。
下面分别介绍它们。
1. jsp:param
jsp:param动作用于传递参数,必须配合jsp:include、jsp:forward、jsp:plugin动作一起使用。
语法格式:
jsp:param name = “name1” value = “value1”/
2. jsp:include
jsp:include动作用于动态加载HTML页面或者JSP页面。
语法格式:
jsp:include page = “网页路径”
jsp:param name = “name1” value = “value1”/
jsp:param name = “name2” value = “value2”/
jsp:include/
在jsp页面中,可以利用下面的语法取得返回的参数:
request.getParameter(“name1”);
若不传递参数时,则语法格式如下:
jsp:include page = “网页路径”/
举例:
a.jsp页面代码如下:
jsp:include page = "b.jsp"
jsp:param name = "name1" value = "value1"/
jsp:param name = "name2" value = "value2"/
/jsp:include
b.jsp页面代码如下:
名字1、;%=request.getParameter("name1")%
hr color=red
名字2、;%=request.getParameter("name2")%
执行结果如下:
“include标准动作”和“include指令”的差别在于:“include标准动作”包含的页面在运行时被加入,而“include指令”在编译时就被加入了。
3. jsp:forward
jsp:forward动作用于将浏览器显示的页面导向到另一个HTML页面或者jsp页面。
语法格式:
jsp:forward page = “网页路径”/
当然,jsp:forward动作中也可以加入jsp:param参数,其设置和获得参数的方法与jsp:include类似。
4. jsp:plugin
jsp:plugin动作用于加载applet,用途与HTML语法中的Applet及Object标记相同。该动作是在客户端执行的,这里就不作介绍了。
5. jsp:useBean
(见后文的“JavaBeans”的使用)
6. jsp:setProperty
(见后文的“JavaBeans”的使用)
7. jsp:getProperty
(见后文的“JavaBeans”的使用)
另外,附加的讲一下JSP中的内置对象
内置对象
在jsp页面中有一些已经完成定义的对象,称之为内置对象。这些对象可以不经过定义就直接使用,因为它们是由jsp页面自己定义的。
jsp程序常用的内建对象有如下几个:request、response、out、session、pageContext、application、config、page、exception。你可以在jsp页面中直接使用它们,用以加强jsp程序的功能。
下面分别介绍它们。
1. request
与request相联系的是HttpServletRequest类。通过getParameter方法可以获得相应的参数值。
2. response
与response相联系的是HttpServletResponse类。表示Web页面针对请求的应答。
3. out
与out相联系的是PrintWrite类。可以使用此对象将内容输出到页面中。
4. session
与session相联系的是HttpSession类。用来传递客户的会话内容。
5. pageContext
与pageContext相联系的是pageContext类。用它能方便的访问本页面中设置的共享数据。
6. application
与application相联系的是ServletContext类。用它能够实现应用程序级别的数据共享。
7. config
与config相联系的是ServletConfig类。用来在jsp页面范围内处理jsp配置。
8. page
代表jsp页面编译成的Servlet实例,一般不用。
9. exception
与exception相联系的是Throwable类。用来捕获jsp执行时抛出的异常。
相关问答
Q1: 如何把jsp文件里的java代码写到java文件中封装起来,这两个文件要改成什么样?
很简单啊java将jsp代码压缩,只要把Java代码写到Java类里面,然后在jsp里面引用就行java将jsp代码压缩了,如下java将jsp代码压缩:
%@ page import="com.etnetsi.wms.ojb.*" %
%@ page import="com.etnetsi.wms.util.*" %
%@ page import="com.etnetsi.wms.beacn.common.BEACNConstants" %
这样,我的jsp代码里面就可以直接调用BEACNConstants这个类了
你指的是这样的封装吧java将jsp代码压缩?
Q2: 北大青鸟java培训:如何规范自己的代码编辑方式?
对于程序员来说,养成良好的代码写作能力是非常重要的。
今天,我们就一起来了解一下,规范化的代码编写都有哪些要求。
希望通过对本文的阅读,能够提高大家对于代码规范的认识。
1.保证代码压缩后不出错对于大型的JSP项目,一般会在产品发布时对项目包含的所有JSP文件进行压缩处理,比如可以利用GoogleClosureCompilerService对代码进行压缩,新版jQuery已改用这一工具对代码进行压缩,这一般会去掉开发时写的注释,除去所有空格和换行,甚至可以把原来较长的变量名替换成短且无意义的变量名,这样做的目的是加快文件的下载速度,同时也减小网站访问带来的额外数据流量,另外在代码保护上也起到了一点点作用,至少压缩后的代码即使被还原还是没那么容易一下读懂的。
要想代码能正确通过压缩,一般要求语句都要以分号正常结束,大括号也要严格结束等,具体还要看压缩工具的要求。
所以如果一开始没有按标准来做,等压缩出错后再回去找错误那是浪费时间。
2.保证代码能通过特定IDE的自动格式化功能一般较为完善的开发工具(比如AptanaStudio)都有代码"自动格式"化功能,这一功能帮助实现统一换行、缩进、空格等代码编排,你可以设置自己喜欢的格式标准,比如左大括号{是否另起一行。
达到这个要求的目的在于方便你的开发团队成员拿你代码的一个副本用IDE自动格式化成他喜欢或熟悉的风格进行阅读。
你同事需要阅读你的代码,可能是因为你写的是通用方法,他在其它模块开发过程中也要使用到,阅读你的代码能深入了解方法调用和实现的细节,这是简单API文档不能达到的效果。
3.使用标准的文档注释这一要求算是基本的,这有利于在方法调用处看到方法的具体传参提示,也可以利用配套文档工具生成html或其它格式的开发文档供其他团队成员阅读,你可以尝试使用jsdoc-toolkit。
如果你自动生成的API是出自一个开放平台,就像facebook.com应用,那么你的文档是给天下所有开发者看的。
另外编写完整注释,也更方便团队成员阅读你的代码,通过你的参数描述,团队成员可以很容易知道你编写的方法传参与实现细节。
当然也方便日后代码维护,这样即使再大的项目,过了很长时间后,回去改点东西也就不至于自己都忘记了当时自己写的代码是怎么一回事了。
4.使用规范有意义的变量名使用规范有意义的变量名可以提高代码的可读性,作为大项目开发成员,自己写的代码不仅仅要让别人容易看懂。
电脑培训认为开发大项目,其实每个人写的代码量可能都比较大,规范命名,日后自己看回自己的代码也显的清晰易懂,比如日后系统升级或新增功能,修改起代码来也轻松多了。
如果到头发现自己当初写的代码现在看不太懂了,那还真是天大的笑话了。
Q3: JSP上传压缩包和提取压缩包的方法?
首先,要上传,必须建立一个标签并且在form中input type="file" name="myFile"
接收这个标签中的值的时候,你要在后台JAVA类中定义一个熟悉,比如:private File myFile;
要是你用的servlet这样接收:myFile = getParmeter("myFile");
要是Struts1你要在一个ActionForm中定义private File myFile;并且GET/SET
要是struts2你要在Action类中定义private File myFile;并且GET/SET
OK现在是实现上传了代码如下(按照参数就传值):
/**
*
* @param file 文件
* @param max_length 最大
* @param allowed_types 类型
* @param path 路径
* @param fileName 文件名
* @param prName 前缀
* @return
*/
public String uploadFile(File file, Integer max_length, String allowed_types, String path, String fileName, String prName){
//这里是获取访问路径这里是struts2的方式,struts和servlet是另外中(好像是)
String root = ServletActionContext.getServletContext().getRealPath(path);
try {
if(file == null)
return "";
if(max_length file.length() )
return "";
String fileExt = this.getFileExt(fileName);
if( ! allowed_types.contains(fileExt))
return "";
File filePath = new File(root);
if ( ! filePath.exists()) {
filePath.mkdirs();
}
//System.out.println(fileName);
fileName = prName + System.nanoTime() + "." + fileExt;
String rootFileName = root + "/" + fileName;
this.writeFile(file, rootFileName);
return path + "/" + fileName;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
//以上就是把文件写入磁盘,也就是所谓的上传
下载压缩包解压的方法:
public void unZipFile() throws UnZipException{
try{
//ZipFile zipFile = new ZipFile(path);
BufferedOutputStream bos = null;
FileInputStream fis = new FileInputStream(path);
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
ZipEntry entry;
while((entry = zis.getNextEntry()) != null){
byte[] data = new byte[BUFFER];
int length=0;
//如果是文件夹就创建它
if(entry.isDirectory()){
String dirName=entry.getName();
String dirPath=targetPath+"/"+dirName;
FileOperate fo = new FileOperate();
fo.createFolder(dirPath);
}
else{
FileOutputStream fos = new FileOutputStream(targetPath+"/"+entry.getName());
bos = new BufferedOutputStream(fos,BUFFER);
while((length=zis.read(data, 0, BUFFER)) != -1){
bos.write(data,0,length);
}
bos.flush();
bos.close();
fos.flush();
fos.close();
}
}
fis.close();
zis.close();
//zipFile.close();
}catch(ZipException e){
e.printStackTrace();
throw new UnZipException("不是有效的zip文件! "+e.getMessage());
}catch(IOException e){
e.printStackTrace();
throw new UnZipException("文件读取错误!"+e.getMessage());
}
}
Q4: JSP中存在大量的JAVA代码好不好?怎样减少JSP中的JAVA代码?
JSP中存在大量Java代码当然不好java将jsp代码压缩了java将jsp代码压缩,不利于维护和重用。
减少JSP代码方法:采用后台处理流程,不在JSP中实现业务逻辑。
采用MVC架构。
JSP+Servlet+Service层+DAO
JSP+Struts+Service层+DAO
关于java将jsp代码压缩和java压缩文件代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







