我自己做的一个项目里的一部分。
提交表单的jsp页面:
用来接收的servlet:
package
news;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
javax.servlet.
*
;
import
javax.servlet.http.
*
;
import
java.sql.
*
;
import
java.io.
*
;
import
java.util.
*
;
import
java.text.
*
;
//
导入jspsmart包
import
com.jspsmart.upload.
*
;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
SecondLevelTitlePublishServlet
extends
HttpServlet
...
{
public String titleName=null;
public int parentId=0;
private ServletConfig config;
private static final String CONTENT_TYPE = "text/html; charset=gb2312";
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//Initialize global variables
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
final public void init(ServletConfig config) throws ServletException ...{
this.config = config;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
final public ServletConfig getServletConfig() ...{
return config;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
ServletException, IOException ...{
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
try ...{
//上传初始化
SmartUpload upload = new SmartUpload();
upload.initialize(config, request, response);
upload.upload();
//获取second.jsp里面的text值
String secondTitle = upload.getRequest().getParameter("txtSecond");
com.jspsmart.upload.File myFile = upload.getFiles().getFile(0);
String fileName = myFile.getFileName();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if (secondTitle != null && myFile != null) ...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if (!myFile.isMissing()) ...{
myFile.saveAs("E:/inews/upload/" + fileName,upload.SAVE_PHYSICAL);
//得到当前时间
SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd-" + " " + "hh:mm:ss");
String datetime = tempDate.format(new java.util.Date());
//l连接数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:newsServer","sa","");
String sql="insert into SecondLevelTitle(TitleName,FilePath,CreatTime) values('"+fileName+"','"+"E:/inews/upload/" + fileName+"','"+datetime+"')";
Statement sta=conn.createStatement();
sta.executeUpdate(sql);
out.println("<script>alert("发布成功!");</script>");
out.println("<script>window.location="/news/html/right.html";</script>");
sta.close();
conn.close();
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
else ...{
out.println("<script>alert("没有找到文件!");history.go(-1);</script>");
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
catch (Exception e) ...{
System.out.println(e);
}
out.close();
}
//Clean up resources
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void destroy() ...{
}
}
再从另外的jsp页面读取文件内容到jsp页面上:
<%
//
此ID为上一个页面url传过来的ID:
http://localhost
:8080/news/html/index.jsp?secondId=1。因为ID在数据库中是自变量,
//
所以在前面的插入当中不用写插入。
int
secondId
=
Integer.parseInt(request.getParameter(
"
secondId
"
));
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
try
...
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:newsServer","sa","");
String sql="select filePath from SecondLevelTitle where Id='"+secondId+"'";
java.sql.Statement sta=conn.createStatement();
ResultSet rs=sta.executeQuery(sql);
String filePath=null;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
while(rs.next())...{
filePath=rs.getString("FilePath");
}
File file=new File(filePath);
char[] charBuffer=new char[10];
int length=0;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(file.exists())...{
FileReader fileReader=new FileReader(file);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
while((length=fileReader.read(charBuffer))!=-1)...{
out.write(charBuffer,0,length);
}
fileReader.close();
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
else...{
System.out.println("没有找到相关文件!");
}
rs.close();
sta.close();
conn.close();
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
catch
(Exception e)
...
{
System.out.println(e);
}
%>
因为是从整个项目的代码里面分割出来的,也许有地方会分割错了,还请大家帮忙在意下。