jsp——SmartUpload上传下载


SmartUpload 简介


SmartUpload组件是www.jspsmart.com网站开发的一套上传组件,它使用简单,方便。有以下几个特点:
使用简单。在JSP中仅仅书写三五行java代码就可以搞定文件的上传或下载。
能全程控制上传。利用SmartUpload组件提供的对象及其操作方法,
可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取
下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。
不管文件在Web服务器的目录下或在其他任何目录下,都可以使用SmartUpload进行下载。


SmartUpload本身是一个系统提供的jar包,用户直接将此包复制到TOMCAT_HOME\lib目录下即可。
SmartUpload组件提供方网站已经关闭。
不过,由于SmartUpload在非框架的开发中较为好用,所以直到今天还有开发者继续使用。

上传单个文件


要进行上传,则必须使用HTML中提供的file控件,而且也必须使用enctype属性进行封装。

对于上传文件的FORM表单,有两个要求:1、METHOD应用POST,即METHOD=“POST”。2、增加属性:ENCTYPE="multipart/form-data"

<body>
    <form action=“SmartUpload01.jsp” method=“post” enctype=“multipart/form-data”>               //对表单进行封装 
    
    	 上传的图片:<input type="file" name="pic">
    	 <input type="submit" value="上传">
    </form>
  </body> 

完成上传的步骤:

1.实例化SmartUpload对象;
2.初始化上传的操作;
3.准备上传;
4.保存文件。
<%
SmartUpload smart = new SmartUpload();    //实例化SmartUpLoad上传组件
smart.initialize(pageContext);            //初始化上传操作
smart.upload();                                  //上传准备
smart.save("upload");                     //将上传文件保存到upload文件夹中 
%>

举例:

upload_1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="doUpload_1.jsp" method="post" enctype="multipart/form-data"> 
		上传的图片:<input type="file" name="pic"><br>
		<input type="submit" value="上传">
	</form>

</body>
</html>

doUpload_1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
 <%@ page import="com.jspsmart.upload.*" %>  <!-- 将jar包导进来 -->
 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
	SmartUpload smart = new SmartUpload();
	smart.initialize(pageContext);  //初始化上传
	smart.upload();  //上传准备
	smart.save("upload");//将文件保存到服务器相应目录下"/Library/apache-tomcat-8.5.64/webapps/Servlet_Higher/upload"
	out.print("文件上传成功");
%>

</body>
</html>

注意:
<%@ page import=“com.jspsmart.upload.*” %> 一定要记得导入jar包所在的位置

在这里插入图片描述
在这里插入图片描述

运行结果:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时,文件已经上传到了/Library/apache-tomcat-8.5.64/webapps/Servlet_Higher/upload"路径下,然后在此路径下的upload文件夹下查看是否文件已经上传到这里面
在这里插入图片描述
我们可以发现,此时我已经将文件成功的上传到了upload文件夹中,可能有些人发现自己运行成功了,但是图片并没有成功的上传,这是为什么?
首先:对于Tomcat的路径配置问题,双击点开Servers下面的Tomcat,我们可以查看配置路径。

在这里插入图片描述
对于上面的路径,需要是你安装的Tomcat所在的路径下的webapps文件夹下
其次,如果你仍然没有看到图片的上传,那有可能你还没有upload文件夹,你需要手动建立一个文件夹,而且必须在eclipse下项目中创建一个upload文件夹

在这里插入图片描述
这样,所有的问题就可以解决了。
在这里插入图片描述

当然上面的文件可以使用Servlet文件进行代替,如下:
upload_1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="uploadServlet1" method="post" enctype="multipart/form-data">
		上传的图片:<input type="file" name="pic"><br>
		<input type="submit" value="上传">
	</form>

</body>
</html>

UploadServlet_1.java

package cn.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

/**
 * Servlet implementation class UploadServlet_1
 */
@WebServlet("/up_load/uploadServlet1")
public class UploadServlet_1 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public UploadServlet_1() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		SmartUpload smart = new SmartUpload();
		smart.initialize(this.getServletConfig(), request, response);//初始化上传
		try {
			smart.upload();
			smart.save("upload");//保存文件到服务器相应文件夹
		} catch (ServletException | IOException | SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}//准备上传
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

上面的代码也可以将图片上传到上传到upload文件夹中
注意把jar包导入!!!➡️import com.jspsmart.upload.*;


混合表单


表单一旦封装之后,就无法使用request.getParameter()接收参数了,
因为表单被封装了,所有的数据不再是文本数据了,而是二进制的byte流了,
这时必须使用SmartUpload中提供的方法支持。
smart.getRequest().getParameter("uname");

upload_2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>


<form action="doUpload_2.jsp" method="post" enctype="multipart/form-data" >
		姓名:<input type="text" name="username"><br>
		图片:<input type="file" name="pic"><br> 
		<input type="submit" value="提交">
		<input type="reset" value="重置">
</form>


</body>
</html>

doUpload_2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
 <%@ page import="com.jspsmart.upload.*" %>  <!-- 将jar包导进来 -->
 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
	SmartUpload smart = new SmartUpload();
	smart.initialize(pageContext);  //初始化上传
	smart.upload();  //上传准备
	String uname = smart.getRequest().getParameter("username");
	//out.print("文件上传成功");
	//out.print("姓名:"+uname);
	uname = uname + "." + smart.getFiles().getFile(0).getFileExt();//➕的最后面的是用来获取多个文件中的第一个文件的扩展名
	String fileName = this.getServletContext().getRealPath("/")+"upload/"+uname;
	smart.getFiles().getFile(0).saveAs(fileName);//按照文件名上传
%>
路径:<%=fileName %>
<img src="../upload/<%=uname%>" width="200px">

</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


为上传文件自动命名


如果多个用户上传的文件的名称一样,则肯定会发生覆盖的情况。
为了解决这种问题,可以采用为上传文件自动命名的方式,为防止重名,自动命名可采用如下的格式:
IP地址+时间戳+三位随机数
sessionId+时间戳

upload_3.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<form action="doUpload_3.jsp" method="post" enctype="multipart/form-data">
		照片1:<input type="file" name="pic1"><br>
		照片2:<input type="file" name="pic2"><br>
		照片3:<input type="file" name="pic3"><br>
		<input type="submit" value="上传">
		<input type="reset" value="重置">
</form>

</body>
</html>

doUpload_3.jsp

<%@page import="cn.upload.utils.IPTimeStamp"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
     <%@ page import="com.jspsmart.upload.*" %>  <!-- 将jar包导进来 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
		SmartUpload smart = new SmartUpload();
		smart.initialize(pageContext);  //初始化上传
		smart.upload();  //上传准备
		//首先要获取IP地址
		IPTimeStamp its = new IPTimeStamp(request.getRemoteAddr());//获取客户端(上传端)IP地址
		System.out.println("IP地址:"+request.getRemoteAddr());
		for(int x =0 ; x<smart.getFiles().getCount();x++){
			String ext = smart.getFiles().getFile(x).getFileExt(); //获取上传文件的扩展名
			String filName = its.getIPTimeRandom()+"."+ext;	//生成上传文件的完整的用户名
			String pathName = this.getServletContext().getRealPath("/")/*获取项目的根目录*/+"upload"+java.io.File.separator+filName;
			smart.getFiles().getFile(x).saveAs(pathName);
		}
		
		out.print("上传文件成功!");
		
%>

</body>
</html>

工具类:IPTimeStamp.java

package cn.upload.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class IPTimeStamp {
		
	private SimpleDateFormat sdf = null;//时间戳
	private String ip = null;//ip地址
	
	public IPTimeStamp() {
		super();
	}

	public IPTimeStamp(String ip) {
		super();
		this.ip = ip;
	}
	
	public String getTimeStamp() {//获取时间戳
		this.sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
		return this.sdf.format(new Date());
	}
	
	public String addZero(String str , int len ) {//把IP地址分割几部分 再填充
		StringBuffer s = new StringBuffer();
		s.append(str);
		while(s.length()<len) {
			s.insert(0, "0");
		}
		return s.toString();
	}
	
	public String getIPTimeRandom() {
		StringBuffer buf = new StringBuffer();
		if(this.ip!=null) {
			String s[] = this.ip.split("\\:");
			for(int i = 0 ; i < s.length ; i++ ) {
				buf.append(this.addZero(s[i], 3));
			}
		}
		buf.append(this.getTimeStamp());
		Random r = new Random();
		for(int i = 0 ; i < 3 ; i++ ) {
			buf.append(r.nextInt(10));//生成一个小于10的随机数
		}
		return buf.toString();
	}
	
}

注意:
分割IP地址的方法,用什么来分割IP地址呢?
首先,我们需要获取IP地址,将其输出
System.out.println(“IP地址:”+request.getRemoteAddr());

在这里插入图片描述
我们发现IP地址使用的是“:”进行分开的,所以分割IP地址的时候要使用“:”

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


SmartUpload主要类和方法


File类:

这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息 。

public void saveAs( java.lang.String destFilePathName)
作用:将文件换名另存。

public boolean isMissing() 
作用:这个方法用于判断用户是否选择了文件,也即对应的 表单项是否有值。选择了文件时,它返回 false 。未选文件时,它返回 true 。

public String getFieldName()
作用:取 HTML 表单 中对应于此上传文件的 表单 项的名字。 

public String getFileName() 
作用:取文件名(不含目录信息) 

 public String getFilePathName  
 作用:取文件全名(带目录)
 
 public int getSize()   
 作用:取文件长度(以字节计)

Files 类

这个类表示所有上传文件的集合,通过它可以得到上传文件的数目、大小等信息。

public int getCount()   作用:作用:取得上传文件的数目。 

public File getFile(int index) 
作用:取得指定位移处的文件对象 File (这是 com . JS Psmart.upload.File ,不是 JAVA .io.File ,注意区分)。其中, index 为指定位移,其值在 0 到 getCount()-1 之间。

 public long getSize()
作用:取得上传文件的总长度,可用于限制一次性上传的数据量大小

public String getFileName()  作用:取文件名(不含目录信息) 

public String getFilePathName  作用:取文件全名(带目录)

public int getSize()   作用:取文件长度(以字节计)

SmartUpload类

完成上传下载工作

public final void initialize( JAVA x. servlet . JS P.PageContext pageContext)
作用:执行上传下载的初始化工作,必须第一个执行。

 public void upload()  作用:上传文件数据
 
 public int save(String destPathName)  
作用:将全部上传文件保存到指定目录下,并返回保存的文件个数。

public int getSize()  作用:取上传文件数据的总长度原型

public Files getFiles()
作用:取全部上传文件,以 Files 对象形式返回,可以利用 Files 类的操作方法来获得上传文件的数目等信息。

public Request get Request ()   作用:取得 Request 对象。

public void setAllowedFilesList(String allowedFilesList) 
 作用:设定允许上传带有指定扩展名的文件,当上传过程中有文件名不允许时,组件将抛出 异常 。 	
 allowedFilesList 为允许上传的文件扩展名列表,各个扩展名之间以逗号分隔。
 如果想允许上传那些没有扩展名的文件,可以用两个逗号表示。
 
public void setDeniedFilesList(String deniedFilesList)   
作用:用于限制上传那些带有指定扩展名的文件。

public void setMaxFileSize(long maxFileSize)  
作用:设定每个文件允许上传的最大长度。 

public void setTotalMaxFileSize(long totalMaxFileSize)  
作用:设定允许上传的文件的总长度,用于限制一次性上传的数据量大小。

 //设定上传限制  
  //限制每个上传文件的最大长度;将最大设定为1024*1024*20  
  smartUpload.setMaxFileSize(1024*1024*10);     
  //限制总上传数据的长度  
  smartUpload.setTotalMaxFileSize(1024*1024*20);  
  //限制允许上传的文件类型、允许doc、txt、bat文件  
  smartUpload.setAllowedFilesList("doc,txt,bat");  
  //限制禁止上传的文件类型,禁止exe、jsp、和没有扩展名的文件  
  smartUpload.setDeniedFilesList("exe,jsp,,");  
  //上传文件  
  smartUpload.upload();  
  //将文件保存到指定的目录下  
  smartUpload.save(path); 

SmartUpload文件下载


download_1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<form action="downloadServlet" method="post" enctype="multipart/form-data">
		下载文件:<a href="../down/1.jpg">电子商城使用说明书</a>
		<input type="submit" name="down" value="下载">
</form>


</body>
</html>

DownloadServlet.java

package cn.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

/**
 * Servlet implementation class DownloadServlet
 */
@WebServlet("/up_load/downloadServlet")
public class DownloadServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DownloadServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String url = request.getServletContext().getRealPath("/")+"down/1.jpg";
		SmartUpload smart = new SmartUpload();
		smart.initialize(getServletConfig(),request,response);
		smart.setContentDisposition(null);
		try {
			smart.downloadFile(url);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

在这里插入图片描述
当点击下载后,谷歌浏览器就开始下载:
在这里插入图片描述

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JSP网络编程从基础到实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码,实例名称及其所处章节如下: 第1章 JSP技术概述 实例1 第一个JSP页面 第3章 Web开发基础 实例2 HTML与JavaScript交互示例 第4章 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符截取程序示例 实例8 查找字符串程序示例 实例9 StringBuffer综合应用程序示例 实例10 日期数据应用示例 实例11 算术表达式综合运用实例 实例12 switch语句示例 实例13 循环应用综合实例 实例14 一个简单的计数器 实例15 include指令应用示例 实例16 forward应用程序示例 实例17 param应用程序示例 实例18 plugin应用程序示例 实例19 中文字符处理程序示例 第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用out对象输出表格 第6章 JSP文件操作 实例28 File类常用方法示例 实例29 列出目录下所有的文件和文件夹 实例30 利用字节流读取文件中的内容 实例31 利用字节流把内容写入文件 实例32 用字符输入流读取文件 实例33 用字符输出流写文件 实例34 随机读取文件程序示例 实例35 故事接龙 实例36 文件上传 实例37 在浏览器中打开文件 实例38 文件下载 实例39 用jspSmartUpload组件实现文件上传 实例40 应用jspSmartUpload组件进行较复杂的表单处理 实例41 用jspSmartUpload组件来实现文件下载 实例42 分页读取文件内容 第7章 在JSP中使用数据库 实例43 顺序查询数据库表中的数据 实例44 移动查询 实例45 参数查询 实例46 模糊查询 实例47 综合查询 实例48 追加记录 实例49 删除记录 实例50 更新记录 实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询数据库JavaBean 实例59 购物车JavaBean及其应用 实例60 数据库记录分页操作JavaBean 第9章 Servlet技术 实例61 JSP与Servlet程序的对比分析 实例62 一个简单的servlet 实例63 用servlet获取表单数据 实例64 用servlet读写文件数据 实例65 用servlet访问数据库 实例66 一个简单的struts应用实例——用户登录 第10章 JSP中的JavaMail开发 实例67 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL
书名:JSP 2.0 技术手册(电子书) 格式:PDF 出版:电子工业出版社 作者:林上杰、林康司 本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的 Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章 Servlet 2.4 简介 2-1 Servlet 简介 2-2 First Servlet Sample Code 2-3 Servlet 的生命周期 2-4 Servlet 范例程序 2-5 Servlet 2.4 的新功能 第三章 JSP 2.0 简介 3-1 JavaServer Pages 技术 3-2 What is JSP 3-3 JSP 与 Servlet 的比较 3-4 JSP 的执行过程 3-5 JSP 与 ASP 和 ASP+ 的比较 3-6 JSP 2.0 新功能 第四章 JSP 语法 4-1 Elements 和 Template Data 4-2 批注(Comments) 4-3 Quoting 和 Escape 规则 4-4 Directives Elements 4-5 Scripting Elements 4-6 Action Elements 4-7 错误处理 第五章 隐含对象(Implicit Object) 5-1 属性( Attribute ) 与范围( Scope ) 5-2 与 Servlet 有关的隐含对象 5-3 与 Input / Output 有关的隐含对象 5-4 与 Context 有关的隐含对象 5-5 与 Error 有关的隐含对象 第六章 Expression Language 6-1 EL 简介 6-2 EL 语法 6-3 EL 隐含对象 6-4 EL 算术运算符 6-5 EL 关系运算符 6-6 EL 逻辑运算符 6-7 EL 其他运算符 6-8 EL Functions 第七章 JSTL 1.1 7-1 JSTL 1.1 简介 7-2 核心标签库(Core tag library) 7-3 I18N 格式标签库(I18N-capable formatting tags library) 7-4 SQL 标签库(SQL tag library) 7-5 XML 标签库(XML tag library) 7-6 函数标签库(Functions tag library) 第八章 JSP 与 JavaBean 8-1 JavaBean 的简介 8-2 JSP 与 JavaBean 8-3 JavaBean 的范围 8-4 JavaBean 的移除 第九章 网页窗体的处理 9-1 HTML 窗体如何传送数据 9-2 窗体中常见的输入类型 9-3 JSP 处理窗体 9-4 文件上传—— Oreilly 上传组件 9-5 jspSmartUpload ——上传和下载 9-6 本文区输入类型(Textarea) 第十章 Session Tracking 10-1 Stateful & Stateless 10-2 Session Tracking 的四种方法 10-3 Session 的生命周期 10-4 HttpSessionBindingListener 接口 10-5 Shopping Cart 范例程序一 10-6 Shopping Cart 范例程序二 第十一章 Filter 与 Listener 11-1 Filter 简介 11-2 Filter 的运作方式 11-3 实现阶段第一个 Filter 11-4 对请求做统一的认证处理 11-5 ServletRequest 和 ServletResponse 之 Wrapper 类 11-6 使用 Filter 来解决中文问题 11-7 Listener 接口简介 11-8 ServletContext Listener 11-9 HttpSession Listener 11-10 ServletRequest Listener 第十二章 JSP 执行环境与开发工具 12-1 Tomcat 5.0 的介绍 12-2 JSP 开发工具介绍 12-3 Eclipse 简介与安装 12-4 使用 Eclipse 开发 Hello
JSP网络编程从基础到实践》 实例1 第一个JSP页面Web开发基础 实例2 HTML与JavaScript交互示例JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符截取程序示例 实例8 查找字符串程序示例 实例9 StringBuffer综合应用程序示例 实例10 日期数据应用示例 实例11 算术表达式综合运用实例 实例12 switch语句示例 实例13 循环应用综合实例 实例14 一个简单的计数器 实例15 include指令应用示例 实例16 forward应用程序示例 实例17 param应用程序示例 实例18 plugin应用程序示例 实例19 中文字符处理程序示例JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用out对象输出表格JSP文件操作 实例28 File类常用方法示例 实例29 列出目录下所有的文件和文件夹 实例30 利用字节流读取文件中的内容 实例31 利用字节流把内容写入文件 实例32 用字符输入流读取文件 实例33 用字符输出流写文件 实例34 随机读取文件程序示例 实例35 故事接龙 实例36 文件上传 实例37 在浏览器中打开文件 实例38 文件下载 实例39 用jspSmartUpload组件实现文件上传 实例40 应用jspSmartUpload组件进行较复杂的表单处理 实例41 用jspSmartUpload组件来实现文件下载 实例42 分页读取文件内容在JSP中使用数据库 实例43 顺序查询数据库表中的数据 实例44 移动查询 实例45 参数查询 实例46 模糊查询 实例47 综合查询 实例48 追加记录 实例49 删除记录 实例50 更新记录 实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询数据库JavaBean 实例59 购物车JavaBean及其应用 实例60 数据库记录分页操作JavaBeanServlet技术 实例61 JSP与Servlet程序的对比分析 实例62 一个简单的servlet 实例63 用servlet获取表单数据 实例64 用servlet读写文件数据 实例65 用servlet访问数据库 实例66 一个简单的struts应用实例——用户登录JSP中的JavaMail开发 实例67 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL
JSP网络编程从基础到实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码,实例名称及其所处章节如下: 第1章 JSP技术概述 实例1 第一个JSP页面 第3章 Web开发基础 实例2 HTML与JavaScript交互示例 第4章 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符截取程序示例 实例8 查找字符串程序示例 实例9 StringBuffer综合应用程序示例 实例10 日期数据应用示例 实例11 算术表达式综合运用实例 实例12 switch语句示例 实例13 循环应用综合实例 实例14 一个简单的计数器 实例15 include指令应用示例 实例16 forward应用程序示例 实例17 param应用程序示例 实例18 plugin应用程序示例 实例19 中文字符处理程序示例 第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用out对象输出表格 第6章 JSP文件操作 实例28 File类常用方法示例 实例29 列出目录下所有的文件和文件夹 实例30 利用字节流读取文件中的内容 实例31 利用字节流把内容写入文件 实例32 用字符输入流读取文件 实例33 用字符输出流写文件 实例34 随机读取文件程序示例 实例35 故事接龙 实例36 文件上传 实例37 在浏览器中打开文件 实例38 文件下载 实例39 用jspSmartUpload组件实现文件上传 实例40 应用jspSmartUpload组件进行较复杂的表单处理 实例41 用jspSmartUpload组件来实现文件下载 实例42 分页读取文件内容 第7章 在JSP中使用数据库 实例43 顺序查询数据库表中的数据 实例44 移动查询 实例45 参数查询 实例46 模糊查询 实例47 综合查询 实例48 追加记录 实例49 删除记录 实例50 更新记录 实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询数据库JavaBean 实例59 购物车JavaBean及其应用 实例60 数据库记录分页操作JavaBean 第9章 Servlet技术 实例61 JSP与Servlet程序的对比分析 实例62 一个简单的servlet 实例63 用servlet获取表单数据 实例64 用servlet读写文件数据 实例65 用servlet访问数据库 实例66 一个简单的struts应用实例——用户登录 第10章 JSP中的JavaMail开发 实例67 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值