jsp页面<%@ page language="java" import="java.util.*" contentType="text/html; charset=GBK"%><html>
<head>
</head>
<body>
<!-- 表单用enctype封装之后就无法用request得到参数了 -->
<form action="upload?status=insert" method="post" enctype="multipart/form-data">
上传图片:<input type="file" name="pic">
<input type="submit" value="提交" >
</form>
</body>
</html>servlet 页面package com.fit.servlet;import java.io.IOException;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.jsp.PageContext;import org.lxh.smart.SmartUpload;
import org.lxh.smart.SmartUploadException;import com.fit.DAOFactory.DAOFactory;
import com.fit.util.IPTimeStamp;
import com.fit.vo.Person;public class uploadServlet extends HttpServlet{
private ServletConfig config;
final public void init(ServletConfig config) throws ServletException{
this.config=config;
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
SmartUpload smartload=new SmartUpload();
boolean flag=false;
String path="";
String status=request.getParameter("status");
if("insert".equals(status)){
SmartUpload smartupload=new SmartUpload();
Person person=new Person();
String p_name=smartupload.getRequest().getParameter("pname");
IPTimeStamp its=new IPTimeStamp();
smartupload.initialize(this.config, request, response); //初始化上传
try {
smartupload.upload(); //准备上传
String name=its.getTimeStamp()+"."+smartupload.getFiles().getFile(0).getFileExt();
String fileName=this.getServletConfig().getServletContext().getRealPath("/")+"upload/"+name;
System.out.println(name+fileName);
smartupload.getFiles().getFile(0).saveAs(fileName); String p_photo=request.getParameter("pic");
System.out.println(p_photo);
person.setP_name(p_name);
person.setP_photo(p_photo);
flag=DAOFactory.getUploadDAOInstance().insert(person);
if(flag){
path="smartUpload.jsp";
request.getRequestDispatcher(path).forward(request, response);
}
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
实现类 代码 public boolean insert(Person person) {
String sql="insert person values(?,?)";
System.out.println("进入insert方法!");
try {
ps=mycon.getcon().prepareStatement(sql);
String name=smartupload.getRequest().getParameter("name");
String path=smartupload.getRequest().getParameter("pic");
System.out.println("IMP"+name+path);
ps.setString(1, name);
ps.setString(2, path);
int a=ps.executeUpdate();
if(a>0){
flag=true;
System.out.println(flag);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
<head>
</head>
<body>
<!-- 表单用enctype封装之后就无法用request得到参数了 -->
<form action="upload?status=insert" method="post" enctype="multipart/form-data">
上传图片:<input type="file" name="pic">
<input type="submit" value="提交" >
</form>
</body>
</html>servlet 页面package com.fit.servlet;import java.io.IOException;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.jsp.PageContext;import org.lxh.smart.SmartUpload;
import org.lxh.smart.SmartUploadException;import com.fit.DAOFactory.DAOFactory;
import com.fit.util.IPTimeStamp;
import com.fit.vo.Person;public class uploadServlet extends HttpServlet{
private ServletConfig config;
final public void init(ServletConfig config) throws ServletException{
this.config=config;
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
SmartUpload smartload=new SmartUpload();
boolean flag=false;
String path="";
String status=request.getParameter("status");
if("insert".equals(status)){
SmartUpload smartupload=new SmartUpload();
Person person=new Person();
String p_name=smartupload.getRequest().getParameter("pname");
IPTimeStamp its=new IPTimeStamp();
smartupload.initialize(this.config, request, response); //初始化上传
try {
smartupload.upload(); //准备上传
String name=its.getTimeStamp()+"."+smartupload.getFiles().getFile(0).getFileExt();
String fileName=this.getServletConfig().getServletContext().getRealPath("/")+"upload/"+name;
System.out.println(name+fileName);
smartupload.getFiles().getFile(0).saveAs(fileName); String p_photo=request.getParameter("pic");
System.out.println(p_photo);
person.setP_name(p_name);
person.setP_photo(p_photo);
flag=DAOFactory.getUploadDAOInstance().insert(person);
if(flag){
path="smartUpload.jsp";
request.getRequestDispatcher(path).forward(request, response);
}
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
实现类 代码 public boolean insert(Person person) {
String sql="insert person values(?,?)";
System.out.println("进入insert方法!");
try {
ps=mycon.getcon().prepareStatement(sql);
String name=smartupload.getRequest().getParameter("name");
String path=smartupload.getRequest().getParameter("pic");
System.out.println("IMP"+name+path);
ps.setString(1, name);
ps.setString(2, path);
int a=ps.executeUpdate();
if(a>0){
flag=true;
System.out.println(flag);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
解决方案 »
- 11111111111111
- ssh2整合中无法输出hbm2ddl 语句,求解!
- 求一个高效的分页查询 或者 分页的存储过程
- 关于spring配置问题,谢谢大家帮忙!!!!!!!
- 关于apache的jsessionid不能访问
- 我用JNI VC做了个连接数据库的DLL,在VC中测试能连接数据库,可用JAVA调就出错
- 请教HQL语句
- 如果没有类似.NET的拖拽式RAD环境和大量组件那么可笑的JSF和弱智structs有什么区别?新瓶装旧酒!
- 如何在现有的XML文件中添加节点
- Struts1.1例子,启动服务不成功!大虾帮忙!
- 删除已知字符串中包含的另一个字符串?
- EXTJS页面如何取得返回对象属性值
是不是Bean里的啊!如果是的话,我get , set 了这段代码可以上传图片,就是无法获取jsp页面参数