jspsmart.jar(jsp适用教程第三版3版)

大家好,今天小编来为大家解答以下的问题,关于jspsmart.jar,jsp实用教程第三版3版这个很多人还不知道,现在让我们一起来看看吧!

在Java Web开发领域,JSP标签库(TagLib)是一种非常实用的技术,它可以帮助开发者简化JSP页面的开发过程,提高开发效率。而JSpsmart.jar作为JSP标签库中的一个佼佼者,凭借其丰富的功能和应用场景,受到了广大开发者的喜爱。本文将深入解析JSpsmart.jar的奥秘与应用,帮助大家更好地掌握这门技术。

一、JSpsmart.jar简介

JSpsmart.jar是JSP标签库中的一个重要组成部分,它提供了一系列实用的标签,包括数据绑定、表单处理、数据访问等。这些标签可以帮助开发者快速实现各种功能,从而提高开发效率。

二、JSpsmart.jar的安装与配置

1. 下载JSpsmart.jar

我们需要从JSpsmart.jar的官方网站或其他途径下载该jar包。下载完成后,将其放置在Web应用的WEB-INF/lib目录下。

2. 配置web.xml

在web.xml文件中,我们需要添加JSpsmart.jar对应的标签库描述符(TLD)。

“`xml

http://jsptaglib.org/tld/JSpsmart

/WEB-INF/lib/JSpsmart.jar

“`

这样,我们就可以在JSP页面中使用JSpsmart.jar提供的标签了。

三、JSpsmart.jar标签库详解

JSpsmart.jar提供了丰富的标签,以下列举一些常用标签及其功能:

标签名称 功能描述
用于创建表单,支持数据绑定、表单验证等功能
用于创建提交按钮,可以设置按钮样式、提交方式等
用于遍历集合,支持条件判断、循环次数等
用于条件判断,类似于Java中的if语句
用于获取或设置对象属性,类似于Java中的getter和setter方法
用于包含其他JSP页面,实现页面模块化
用于输出内容,类似于Java中的System.out.println方法

四、JSpsmart.jar应用实例

以下是一个使用JSpsmart.jar标签库的简单示例:

“`jsp

<%@ taglib uri="

JSP 页面上传图片 提交到servlet控制层 如何实现

JSP:

<%@ page language=”java” pageEncoding=”GBK”%>

<%@ page import=”cn.edu.bit.business.*,java.util.*,cn.edu.bit.Object.*,com.jspsmart.upload.*” errorPage=”error.jsp”%>

<%– page import=”org.apache.commons.fileupload.*;”–%>

<%

String path= request.getContextPath();

String basePath= request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;

%>

<html>

<head>

<title>Lomboz JSP</title>

<style type=”text/css”>

<!–

@import url(“../../css/OSX.css”);

–>

</style>

</head>

<SCRIPT language=javascript>

function CheckForm()

{

if(document.add_student_Form.name.value==””)

{

alert(“请输入姓名!”);

return false;

}

if(document.add_student_Form.image.value==””)

{

alert(“请上传图片!”);

return false;

}

document.add_student_Form.submit();

if(document.add_student_Form.advisor.value==””)

{

alert(“暂时没有指导老师,无法创建学生!”);

return false;

}

document.add_student_Form.submit();

}

</SCRIPT>

<body bgcolor=”#CAD7F7″ topmargin=”100″>

<%

ArrayList gl=(ArrayList)Grade_Manager.getGradeList();

ArrayList Tl=(ArrayList)Teacher_Manager.getTeacherList2();

%>

<div align=”center”>

<form name=”add_student_Form” method=”post” enctype=”multipart/form-data” action=”<%=basePath%>/add_student”>

<table width=”500″border=”0″ cellspacing=”1″ cellpadding=”1″ class=”tableBorder”>

<tr>

<td colspan=”2″ align=”center” background=”../../images/guanli/admin_bg_1.gif” class=”whitenormal”>添加学生</td>

</tr>

<tr>

<td width=”97″ align=”center” bgcolor=”F1F3F5″ class=”normalText”>姓名:</td>

<td width=”396″ bgcolor=”F1F3F5″><input name=”name” type=”text” id=”name” class=”textBox”></td>

</tr>

<tr>

<td align=”center” bgcolor=”F1F3F5″ class=”normalText”>性别:</td>

<td bgcolor=”F1F3F5″><input type=”radio” name=”radiobutton” value=”male” checked/>

<span class=”normalText”>男</span><input type=”radio” name=”radiobutton” value=”female”/>

<span class=”normalText”>女</span></td>

</tr>

<tr>

<td align=”center” bgcolor=”F1F3F5″ class=”normalText”>年级:</td>

<td bgcolor=”F1F3F5″>

<select name=”grade”>

<%

Iterator iter= gl.iterator();

while(iter.hasNext())

{

Grade grade=(Grade)iter.next();

%>

<option value=”<%=grade.getId()%>”><%=grade.getName()%></option>

<%

}

%>

</select>

</td>

</tr>

<tr>

<td align=”center” bgcolor=”F1F3F5″ class=”normalText”>指导老师:</td>

<td bgcolor=”F1F3F5″>

<select name=”advisor”class=”textBox”>

<%

Iterator it= Tl.iterator();

while(it.hasNext())

{

Teacher teacher=(Teacher)it.next();

%>

<option value=”<%=teacher.getTeacher_id()%>”><%=teacher.getTeacher_name()%></option>

<%

}

%>

</select>

</td>

</tr>

<tr>

<td align=”center” bgcolor=”F1F3F5″ class=”normalText”>图片:</td>

<td bgcolor=”F1F3F5″><input type=”file” name=”image”>

</td>

</tr>

<tr align=”center”>

<td colspan=”2″ bgcolor=”F1F3F5″><input type=”button” name=”Submit” value=”提交” onClick=”CheckForm()”></td>

</tr>

</table>

</form>

</div>

</body>

</html>

其中只有图片上传的,你还要下载一个jspsmart.jar或者jspSmartUpload.jar组件

Servlet:

package cn.edu.bit.servlet;

import java.io.*;

import java.util.*;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.jspsmart.upload.*;

import cn.edu.bit.business.Student_Manager;

/**

*

*@EricWong

*2007-7-21

*/

public class AddStudentServlet extends HttpServlet{

private ServletConfig config;

String image;

final public void init(ServletConfig config) throws ServletException{

this.config= config;

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

RequestDispatcher requestDispatcher= request.getRequestDispatcher(“guanli/student/login.jsp”);

requestDispatcher.forward(request,response);

}

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException

{

HttpSession ses= request.getSession();

try{

SmartUpload su=new SmartUpload();

String ext=””;

su.initialize(config, request, response);

su.setAllowedFilesList(“jpg,gif”);

su.upload();

com.jspsmart.upload.Files file= su.getFiles();

image=(String)file.getFile(0).getFileName();

Calendar calendar= Calendar.getInstance();

String filename= String.valueOf(calendar.getTimeInMillis());

int index= image.indexOf(“.”);

image= image.replace(image.substring(0, index), filename);

System.out.println(image);

su.getFiles().getFile(0).saveAs(“./images/student_image/”+ image,su.SAVE_VIRTUAL);

String name= su.getRequest().getParameter(“name”);

int advisor= Integer.parseInt(su.getRequest().getParameter(“advisor”));

String sex=(String)su.getRequest().getParameter(“radiobutton”);

String grade=(String)su.getRequest().getParameter(“grade”);

int grade_id= Integer.parseInt(grade);

Student_Manager.Add_Student(name,grade_id,image,sex,advisor);

}

catch(Exception e){

System.out.println(“fail”);

e.printStackTrace();

}

RequestDispatcher requestDispatcher= request.getRequestDispatcher(“guanli/student/add_success1.jsp”);

requestDispatcher.forward(request,response);

}

}

我是把相应的图片先改名再存入服务器,防止重名,而且LZ要注意相对路径的设定方法,如有其它问题,可以追问…希望能帮到你

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程序可以在多个网页之间暂时保存必要的信息。

如何在spring mvc中上传图片并显示出来

(1)在spring mvc的配置文件中配置:

<beanid=”multipartResolver”class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”>

<propertyname=”uploadTempDir”value=”/tmp”/><!–临时目录–>

<propertyname=”maxUploadSize”value=”10485760″/><!–10M–>

</bean>

(2)文件上传表单和结果展示页fileupload.jsp:

<%@pagelanguage=”java”contentType=”text/html;charset=UTF-8″

pageEncoding=”UTF-8″%>

<%@taglibprefix=”mvc”uri=””%>

<%@taglibprefix=”c”uri=””%>

<html>

<head>

<title>SpringMVC文件上传</title>

</head>

<body>

<h2>图片文件上传</h2>

<mvc:formmodelAttribute=”user”action=”upload.html”

enctype=”multipart/form-data”>

<table>

<tr>

<td>用户名:</td>

<td><mvc:inputpath=”userName”/></td>

</tr>

<tr>

<td>选择头像:</td>

<td><inputtype=”file”name=”file”/></td>

</tr>

<tr>

<tdcolspan=”2″><inputtype=”submit”value=”Submit”/></td>

</tr>

</table>

</mvc:form>

<br><br>

<c:iftest=”${u!=null}”>

<h2>上传结果</h2>

<table>

<c:iftest=”${u.userName!=null}”>

<tr>

<td>用户名:</td>

<td>${u.userName}</td>

</tr>

</c:if>

<c:iftest=”${u.logoSrc!=null}”>

<tr>

<td>头像:</td>

<td><imgsrc=”${u.logoSrc}”width=”100px”height=”100px”></td>

</tr>

</c:if>

</table>

</c:if>

</body>

</html>

(3)后台处理UploadController.java:

packagecn.zifangsky.controller;

importjava.io.File;

importjava.io.IOException;

importjavax.servlet.http.HttpServletRequest;

importorg.apache.commons.io.FileUtils;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RequestMethod;

importorg.springframework.web.bind.annotation.RequestParam;

importorg.springframework.web.multipart.MultipartFile;

importorg.springframework.web.servlet.ModelAndView;

importcn.zifangsky.model.User;

importcn.zifangsky.utils.StringUtile;

@Controller

publicclassUploadController{

@RequestMapping(value=”/form”)

publicModelAndViewform(){

ModelAndViewmodelAndView=newModelAndView(“fileupload”,”user”,newUser());

returnmodelAndView;

}

@RequestMapping(value=”/upload”,method=RequestMethod.POST)

publicModelAndViewupload(Useruser,@RequestParam(“file”)MultipartFiletmpFile,HttpServletRequestrequest){

ModelAndViewmodelAndView=newModelAndView(“fileupload”);

if(tmpFile!=null){

//获取物理路径

StringtargetDirectory=request.getSession().getServletContext().getRealPath(“/uploads”);

StringtmpFileName=tmpFile.getOriginalFilename();//上传的文件名

intdot=tmpFileName.lastIndexOf('.');

Stringext=””;//文件后缀名

if((dot>-1)&&(dot<(tmpFileName.length()-1))){

ext=tmpFileName.substring(dot+1);

}

//其他文件格式不处理

if(“png”.equalsIgnoreCase(ext)||”jpg”.equalsIgnoreCase(ext)||”gif”.equalsIgnoreCase(ext)){

//重命名上传的文件名

StringtargetFileName=StringUtile.renameFileName(tmpFileName);

//保存的新文件

Filetarget=newFile(targetDirectory,targetFileName);

try{

//保存文件

FileUtils.copyInputStreamToFile(tmpFile.getInputStream(),target);

}catch(IOExceptione){

e.printStackTrace();

}

Useru=newUser();

u.setUserName(user.getUserName());

u.setLogoSrc(request.getContextPath()+”/uploads/”+targetFileName);

modelAndView.addObject(“u”,u);

}

returnmodelAndView;

}

returnmodelAndView;

}

}

在上面的upload方法中,为了接收上传的文件,因此使用了一个MultipartFile类型的变量来接收上传的临时文件,同时为了给文件进行重命名,我调用了一个renameFileName方法,这个方法的具体内容如下:

/**

*文件重命名

*/

publicstaticStringrenameFileName(StringfileName){

StringformatDate=newSimpleDateFormat(“yyMMddHHmmss”).format(newDate());//当前时间字符串

intrandom=newRandom().nextInt(10000);

Stringextension=fileName.substring(fileName.lastIndexOf(“.”));//文件后缀

returnformatDate+random+extension;

}

注:上面用到的model——User.java:

packagecn.zifangsky.model;

publicclassUser{

privateStringuserName;//用户名

privateStringlogoSrc;//头像地址

publicStringgetUserName(){

returnuserName;

}

publicvoidsetUserName(StringuserName){

this.userName=userName;

}

publicStringgetLogoSrc(){

returnlogoSrc;

}

publicvoidsetLogoSrc(StringlogoSrc){

this.logoSrc=logoSrc;

}

}

至此全部结束

效果如下:

(PS:纯手打,望采纳)

关于jspsmart.jar和jsp实用教程第三版3版的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享