读书人

求救啊为什么小弟我用post方法向服务器

发布时间: 2012-02-25 10:01:49 作者: rapoo

求救啊!!!为什么我用post方法向服务器传数据的时候取到的总是为NULL在线等
这个是html代码

<HTML>
<HEAD>
<TITLE> Image File </TITLE>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
</HEAD>
<FORM METHOD=post ACTION= "tryagain1" ENCTYPE="multipart/form-data">
<INPUT TYPE= "file" NAME= "image"> <BR>
<INPUT TYPE= "text" NAME= "try"> <BR>
<INPUT TYPE= "submit"> </FORM>
<BODY>
</BODY>
</HTML>
这个是服务器的post方法的代码
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
SmartUpload mySmartUpload = new SmartUpload();

mySmartUpload.initialize(this.getServletConfig(),request,response);
request.setCharacterEncoding("gb2312");
String s=mySmartUpload.getRequest().getParameter("try");//这里得到的总是为空,为什么
System.out.println(s); try { mySmartUpload.upload();

} catch (SmartUploadException e) {

e.printStackTrace();
}
System.out.println(mySmartUpload.getFiles().getCount());
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
{

SmartFile myFile = mySmartUpload.getFiles().getFile(i);
if (!myFile.isMissing())
{
//取得上载的文件的文件名
String allpath=myFile.getFilePathName()
java.io.File file = new java.io.File(allpath);
java.io.FileInputStream fis = new java.io.FileInputStream(file);
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon = DriverManager.getConnection("jdbc:odbc:try","sa","sa");
String sql= "insert into teyimage(id,content,image1) values(5,?,?) ";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,"5555");
pstmt.setBinaryStream(2,fis,fis.available());

pstmt.execute();
con.close();
System.out.println( "Success,You Have Insert an Image Successfully ");
System.out.println(file.length());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}



[解决办法]
String s=reqeust.getParameter("try");//直接这样不行吗?
[解决办法]
先保证了String s=reqeust.getParameter("try");能获取到再试你的那种
涉及的地方很少的,很快能试出来
[解决办法]
<FORM METHOD=post ACTION= "tryagain1" ENCTYPE="multipart/form-data">
请再post的左右加引号
[解决办法]
应该是这个POST没加双引号的原因了,还有直接用reqeust.getParameter("try");应该就可以了,不需要NEW了的。
[解决办法]
ENCTYPE="multipart/form-data"


你用了文件上传的方式提交,servlet里肯定是拿不到request.getparameter()



[解决办法]
我是想说吧mySmartUpload.upload()放在mySmartUpload.initialize(this.getServletConfig(),request,response)之后mySmartUpload.getRequest().getParameter("try");之前,表述有点问题....


[解决办法]
你得确定,控件或者传的值里面有没有 try

再就是 try好像 是特殊的吧 保留字符,不能用的吧,换个名字试试。

读书人网 >J2EE开发

热点推荐