jspsmart.jar jsp 图片上传问题 异常
大家好,今天来为大家解答jspsmart.jar这个问题的一些问题点,包括jsp 图片上传问题 异常也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
php,jsp,asp三者优缺点...
php优点
1.跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux
/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换
PostgreSQL或者Oracle,支持N种数据库。(N>=10)
2.语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend
Studio等等,再Linux平台下可以使用Eclipse等等。
3.目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。
4.有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smarttemplate做模板层,如果是PHP
5.1的话,还能够使用PDO(PHPDataObject)来访问数据库。
5.有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似RubyOn
Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
6.PHP5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。
7.有成熟的社区来支持PHP的开发。
8.
目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。
9.有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend
Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客
WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
php缺点
1.对多线程支持不太好,大多数时候我们只能简单的模拟去实现的。
2.语法不太严谨,比如变量不需要定义就可以使用,在c,java,c++中变量是必须先定义以后才可以使用的。
3.也许有经验的PHP程序员最感到痛苦的地方是PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java
Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。
JSP的优势
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP的劣势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)
Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的。java文件和。class文件,以及对应的版本文件。
ASP的特点:
1、任何开发工具皆可发展ASP
只要使用一般的文书编辑程序,如Windows记事本,就可以编辑。当然,其他网页发展工具,例如,FrontPageExpress、
FrontPage等也都可以;不过还是建议你用记事本来写,既省钱又方便,若是使用那些所见即所得的网页编辑来写ASP,可能会发生一些意想不到的离奇状态。
2、通吃各家浏览器
由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。
3、语言相容性高
ASP与所有的ActiveXScript语言都相容,除了可结合HTML,VBScript、JavaScript、Active
X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(ThirdParty)所提供的语言。
4、隐密安全性高
如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!这是因为ASP程序先于网站服务(Web
Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。
5、易于操控数据库
ASP可以轻易地通过ODBC(OpenDatabase
Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel”
文件当成数据库用。
6、面向对象学习容易
ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的“Application”对象或”Session”对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。
java上传到指定文件夹问题
servlet类
package org.whatisjava.servlet;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet{
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
try{
//用于设定诸如缓存之类的参数,和性能相关
//此处用默认设定
DiskFileItemFactory dfif= new DiskFileItemFactory();
//解析表单中的数据
ServletFileUpload upload= new ServletFileUpload(dfif);
upload.setSizeMax(10* 1024* 1024);//允许上传的最大值
List list= upload.parseRequest(request);//开始解析request对象中的表单数据
// list中是FileItem对象
//一个FileItem用于封装一个上传的文件数据
if(list.size()>= 1){
FileItem item=(FileItem) list.get(0);
//获得上文件的路径名
String name= item.getName();
name= name.substring(name.lastIndexOf("\\")+ 1);
//把上传的文件数据写入本地文(服务器端)件文件夹的名字为upload
String path="upload";
// Sun的标准,服务器实现的API
ServletContext ctx= this.getServletContext();
path= ctx.getRealPath(path);
File file= new File(path);
if(!file.exists()){
System.out.println("创建文件夹");
file.mkdir();
}
System.out.println(path);
System.out.println(name);
//将文件放到指定的地方
item.write(new File(path, name));
response.sendRedirect("upload_form.jsp");
}
} catch(Exception e){
throw new ServletException("file upload error!", e);
}
}
}
页面<form action="upload" method="post" enctype="multipart/form-data">
<table cellpadding="0" cellspacing="0" border="0"
class="form_table">
<tr>
<td valign="middle" align="right">
上传
</td>
<td valign="middle" align="left">
<input type="file" class="inputgri" name="file1"/>
</td>
</tr>
</table>
<p>
<input type="submit" class="button" value="提交»"/>
</p>
</form>
web.xml
<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>
org.whatisjava.servlet.UploadServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
jar包
commons-io-1.3.2.jar
commons-fileupload-1.2.1.jar
commons-fileupload-1.2.1-javadoc.jar
commons-fileupload-1.2.1-sources.jar
jsp 图片上传问题 异常
1.确保你上传的文件是jpg gif bmp这三个后缀名之一.
2.确保你的上传组件也就是就是SmartUpload的jar包是正确的,
因为现在开发这个组件的官网已不在了,所以这个jar包的来源有多种途径,这导致这个你所用的jar包中所使用的代码有可能被别人改过,
你可以再在别的地方下载一下这个jar包再试试
3.确保你的Web项目中的WEB-INF/lib目录中有此jar包,
别把此jar包再放到其他lib目录中,比如说Tomcat的lib目录中.
4.最后,我测试了,你的代码在我这里运行没问题.
测试页面如下(我稍微改了一下):
==================forupload.jsp===================================
<%@page contentType="text/html;charset=gbk"%>
<form action="upfile.jsp" method="post" enctype="multipart/form-data">
title:<input type="text" name="title"><br>
files:<input type="file" name="file"><br>
<input type="submit"><br>
</form>
==================================================================
========================upfile.jsp===============================
<%@page contentType="text/html;charset=gbk"%>
<jsp:useBean id="upFile" class="com.jspsmart.upload.SmartUpload" scope="page"/>
<%
request.setCharacterEncoding("gbk");
upFile.initialize(pageContext);
try{
upFile.setAllowedFilesList("jpg,gif,bmp");
}catch(Exception e){
e.printStackTrace();
}
%>
<%
System.out.println("准备上传文件");
try{
upFile.upload();
}catch(Exception e){
out.println("<script language=\"jscript\">");
out.println("alert(\"只允许上传jpg,gif图片\")");
out.println("window.location.href=\"forupload.jsp\"");
out.print("</script>");
return;
}
long size=upFile.getFiles().getSize();
System.out.println("文件大小:"+size);
if(size>2){
out.println("<script>alert('您上传的文件太大,不能完成上传!');history.back(-1);</script>");
}else{
String getFileName=upFile.getFiles().getFile(0).getFileName();
//String sql="INSERT INTO tb_file(name,fileSize) values('"+getFileName+"',"+size+")";
//conn.executeUpdate(sql);
try{
upFile.save("/upload");
out.println("<script>alert('文件上传成功!');window.close();</script>");
}catch(Exception e){
System.out.println("上传文件出现错误:"+e.getMessage());
out.println("<script language=\"jscript\">");
out.println("alert(\"上传失败,请重试...\")");
out.println("window.location.href=\"forupload.jsp\"");
out.print("</script>");
}
}
%>
=================================================================
关于jspsmart.jar到此分享完毕,希望能帮助到您。