/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = (TextView) this.findViewById(R.id.textView2);
同样服务器用老师写的客户端可以正常注册,刚才运行了下,服务器报错了 2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet UpdateUserInfo threw exception java.lang.NullPointerException at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
@Override public void run() { // TODO Auto-generated method stub zhuce(); } }).start(); } });
同样服务器用老师写的客户端可以正常注册,刚才运行了下,服务器报错了 2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet UpdateUserInfo threw exception java.lang.NullPointerException at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 晕,早上异常哈. com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) 查看这个方法,不是你这些代码的问题嘛.
同样服务器用老师写的客户端可以正常注册,刚才运行了下,服务器报错了 2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet UpdateUserInfo threw exception java.lang.NullPointerException at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 晕,早上异常哈. com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) 查看这个方法,不是你这些代码的问题嘛.package com.mct.servlet;import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.mct.utils.DbUtil; import com.mct.utils.UploadUtil; import com.mct.utils.UserDbUtil;public class UpdateUserInfo extends HttpServlet { public static final String PHOTO_PATH = "D:/blog/photo/"; // 注册 private static final int TYPE_REGIST = 1; // 更新 private static final int TYPE_UPDATE = 2; private int type; /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub resp.setContentType("text/html;charset=UTF-8"); PrintWriter pw = resp.getWriter(); String typeStr = req.getServletPath(); if (null != typeStr) { typeStr = typeStr.substring(1); if (typeStr.equals("regist")) { type = TYPE_REGIST; } else { type = TYPE_UPDATE; } } String contentType = req.getContentType(); Map<String, String> map = new HashMap<String, String>(); // 从文件上传中携带参数 if (type != 0 && (contentType.contains("multipart/form-data") || contentType .contains("multipart/mixed"))) { final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M // 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 String tempPath = PHOTO_PATH + "temp\\"; // 判断临时文件夹是否存在,不存在则创建临时文件夹 UploadUtil.isDirsExist(tempPath); dfif.setRepository(new File(tempPath)); // 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录 // 用以上工厂实例化上传组件 ServletFileUpload sfu = new ServletFileUpload(dfif); sfu.setSizeMax(MAX_SIZE);// 设置最大上传尺寸
同样服务器用老师写的客户端可以正常注册,刚才运行了下,服务器报错了 2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet UpdateUserInfo threw exception java.lang.NullPointerException at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 晕,早上异常哈. com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) 查看这个方法,不是你这些代码的问题嘛.package com.mct.servlet;import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.mct.utils.DbUtil; import com.mct.utils.UploadUtil; import com.mct.utils.UserDbUtil;public class UpdateUserInfo extends HttpServlet { public static final String PHOTO_PATH = "D:/blog/photo/"; // 注册 private static final int TYPE_REGIST = 1; // 更新 private static final int TYPE_UPDATE = 2; private int type; /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub resp.setContentType("text/html;charset=UTF-8"); PrintWriter pw = resp.getWriter(); String typeStr = req.getServletPath(); if (null != typeStr) { typeStr = typeStr.substring(1); if (typeStr.equals("regist")) { type = TYPE_REGIST; } else { type = TYPE_UPDATE; } } String contentType = req.getContentType(); Map<String, String> map = new HashMap<String, String>(); // 从文件上传中携带参数 if (type != 0 && (contentType.contains("multipart/form-data") || contentType .contains("multipart/mixed"))) { final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M // 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 String tempPath = PHOTO_PATH + "temp\\"; // 判断临时文件夹是否存在,不存在则创建临时文件夹 UploadUtil.isDirsExist(tempPath); dfif.setRepository(new File(tempPath)); // 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录 // 用以上工厂实例化上传组件 ServletFileUpload sfu = new ServletFileUpload(dfif); sfu.setSizeMax(MAX_SIZE);// 设置最大上传尺寸 try { // 从request得到 所有 上传域的列表 List<FileItem> fileList = sfu.parseRequest(req); // 得到所有上传的文件 Iterator<FileItem> fileItr = fileList.iterator(); // 循环处理所有文件 while (fileItr.hasNext()) { FileItem fileItem = null; // 得到当前文件 fileItem = (FileItem) fileItr.next(); // 忽略简单form字段而不是上传域的文件域(<input type="text" />等) if (fileItem == null) { continue; } if (fileItem.isFormField()) { String fieldName = fileItem.getFieldName(); String value = DbUtil.utfString(fileItem.getString()); map.put(fieldName, value); continue; } String saveName;
同样服务器用老师写的客户端可以正常注册,刚才运行了下,服务器报错了 2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet UpdateUserInfo threw exception java.lang.NullPointerException at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 晕,早上异常哈. com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59) 查看这个方法,不是你这些代码的问题嘛.package com.mct.servlet;import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.mct.utils.DbUtil; import com.mct.utils.UploadUtil; import com.mct.utils.UserDbUtil;public class UpdateUserInfo extends HttpServlet { public static final String PHOTO_PATH = "D:/blog/photo/"; // 注册 private static final int TYPE_REGIST = 1; // 更新 private static final int TYPE_UPDATE = 2; private int type; /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub resp.setContentType("text/html;charset=UTF-8"); PrintWriter pw = resp.getWriter(); String typeStr = req.getServletPath(); if (null != typeStr) { typeStr = typeStr.substring(1); if (typeStr.equals("regist")) { type = TYPE_REGIST; } else { type = TYPE_UPDATE; } } String contentType = req.getContentType(); Map<String, String> map = new HashMap<String, String>(); // 从文件上传中携带参数 if (type != 0 && (contentType.contains("multipart/form-data") || contentType .contains("multipart/mixed"))) { final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M // 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 String tempPath = PHOTO_PATH + "temp\\"; // 判断临时文件夹是否存在,不存在则创建临时文件夹 UploadUtil.isDirsExist(tempPath); dfif.setRepository(new File(tempPath)); // 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录 // 用以上工厂实例化上传组件 ServletFileUpload sfu = new ServletFileUpload(dfif); sfu.setSizeMax(MAX_SIZE);// 设置最大上传尺寸 try { // 从request得到 所有 上传域的列表 List<FileItem> fileList = sfu.parseRequest(req); // 得到所有上传的文件 Iterator<FileItem> fileItr = fileList.iterator(); // 循环处理所有文件 while (fileItr.hasNext()) { FileItem fileItem = null; // 得到当前文件 fileItem = (FileItem) fileItr.next(); // 忽略简单form字段而不是上传域的文件域(<input type="text" />等) if (fileItem == null) { continue; } if (fileItem.isFormField()) { String fieldName = fileItem.getFieldName(); String value = DbUtil.utfString(fileItem.getString()); map.put(fieldName, value); continue; } String saveName;亲,你总贴代码也不是个办法呀,你得debug一下啊
不是http://10.0.2.2:8080/MyBlog/regist/?name=dddd&psw=aaa
你多写了一个/
把'/'去了
子线程里不能访问UI,UI线程里也不能访问网络。
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;import org.apache.http.HttpStatus;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;//以Get方式上传参数
public class WebServiceActivity extends Activity {
private final String DEBUG_TAG = "Activity03";
private TextView mTextView;
Map<String, String> map = new HashMap<String, String>(); /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) this.findViewById(R.id.textView2); // -- // 登陆
Button bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
denglu();
} }); // 注册
Button bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
zhuce();
} });
// --
} // 登陆方法,采用Get方式上传参数
private void denglu() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/login?name=ddd&psw=aaa";
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
mTextView.setText(resultData);
} catch (IOException e) {
Log.e(DEBUG_TAG, "IOException");
}
} private void zhuce() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/regist?name=dddd&psw=aaa";
Log.e("1", "连接地址");
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
mTextView.setText(resultData);
Log.e("2", "显示取得的内容");
} catch (Exception e) {
e.printStackTrace();
}
}
}
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
不过这样写不好, 最好还是放在自己定义一个thread里面
如果还不行,那可能就是服务器的原因,可以把报错的异常贴上来看看。package com.example.hellotest;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class WebServiceActivity extends Activity {
private final String DEBUG_TAG = "Activity03";
private TextView mTextView;
Map<String, String> map = new HashMap<String, String>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) this.findViewById(R.id.textView2);
// --
// 登陆
Button bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
new AsyncTask<Void, Void, String>() {
@Override
public String doInBackground(Void... params) {
return denglu();
}
@Override
public void onPostExecute(String result) {
mTextView.setText(result);
}
}.execute();
}
});
// 注册
Button bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
new AsyncTask<Void, Void, String>() {
@Override
public String doInBackground(Void... params) {
return zhuce();
}
@Override
public void onPostExecute(String result) {
mTextView.setText(result);
}
}.execute();
}
});
// --
}
// 登陆方法,采用Get方式上传参数
private String denglu() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/login?name=ddd&psw=aaa";
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
return resultData;
} catch (IOException e) {
Log.e(DEBUG_TAG, "IOException");
return null;
}
}
private String zhuce() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/regist?name=dddd&psw=aaa";
Log.e("1", "连接地址");
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
Log.e("2", "显示取得的内容");
// 设置显示取得的内容
return resultData;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;import org.apache.http.HttpStatus;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;//以Get方式上传参数
public class WebServiceActivity extends Activity {
private final String DEBUG_TAG = "Activity03";
private TextView mTextView;
Map<String, String> map = new HashMap<String, String>(); /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) this.findViewById(R.id.textView2); // -- // 登陆
Button bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
denglu();
} }); // 注册
Button bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
zhuce();
} });
// --
} // 登陆方法,采用Get方式上传参数
private void denglu() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/login?name=ddd&psw=aaa";
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
mTextView.setText(resultData);
} catch (IOException e) {
Log.e(DEBUG_TAG, "IOException");
}
} private void zhuce() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/regist?name=dddd&psw=aaa";
Log.e("1", "连接地址");
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
mTextView.setText(resultData);
Log.e("2", "显示取得的内容");
} catch (Exception e) {
e.printStackTrace();
}
}
}
最好把登录和注册的方法放到线程中去访问:
new Thread(new Runnable(){
重写run(){
zhuc();
}
}).start();
2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet UpdateUserInfo threw exception
java.lang.NullPointerException
at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;import org.apache.http.HttpStatus;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;//以Get方式上传参数
public class WebServiceActivity extends Activity {
private final String DEBUG_TAG = "Activity03";
private TextView mTextView;
Map<String, String> map = new HashMap<String, String>(); /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) this.findViewById(R.id.textView2); // -- // 登陆
Button bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
denglu();
} }); // 注册
Button bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
zhuce();
} });
// --
} // 登陆方法,采用Get方式上传参数
private void denglu() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/login?name=ddd&psw=aaa";
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
mTextView.setText(resultData);
} catch (IOException e) {
Log.e(DEBUG_TAG, "IOException");
}
} private void zhuce() {
// http地址"?par=abcd"是我们上传的参数
String httpUrl = "http://10.0.2.2:8080/MyBlog/regist?name=dddd&psw=aaa";
Log.e("1", "连接地址");
// 获得的数据
String resultData = "";
try {
// 1、构造一个URL对象
URL url = new URL(httpUrl);
// 2、使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
// 设置显示取得的内容
mTextView.setText(resultData);
Log.e("2", "显示取得的内容");
} catch (Exception e) {
e.printStackTrace();
}
}
}
最好把登录和注册的方法放到线程中去访问:
new Thread(new Runnable(){
重写run(){
zhuc();
}
}).start();
无果啊
// 注册
Button bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// zhuce();
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
zhuce();
}
}).start();
} });
2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet UpdateUserInfo threw exception
java.lang.NullPointerException
at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
晕,早上异常哈.
com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
查看这个方法,不是你这些代码的问题嘛.
2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet UpdateUserInfo threw exception
java.lang.NullPointerException
at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
晕,早上异常哈.
com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
查看这个方法,不是你这些代码的问题嘛.package com.mct.servlet;import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.mct.utils.DbUtil;
import com.mct.utils.UploadUtil;
import com.mct.utils.UserDbUtil;public class UpdateUserInfo extends HttpServlet {
public static final String PHOTO_PATH = "D:/blog/photo/";
// 注册
private static final int TYPE_REGIST = 1;
// 更新
private static final int TYPE_UPDATE = 2; private int type; /**
*
*/
private static final long serialVersionUID = 1L; @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/html;charset=UTF-8");
PrintWriter pw = resp.getWriter(); String typeStr = req.getServletPath();
if (null != typeStr) {
typeStr = typeStr.substring(1);
if (typeStr.equals("regist")) {
type = TYPE_REGIST;
} else {
type = TYPE_UPDATE;
}
}
String contentType = req.getContentType();
Map<String, String> map = new HashMap<String, String>();
// 从文件上传中携带参数
if (type != 0
&& (contentType.contains("multipart/form-data") || contentType
.contains("multipart/mixed"))) {
final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M
// 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory();
dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘
String tempPath = PHOTO_PATH + "temp\\";
// 判断临时文件夹是否存在,不存在则创建临时文件夹
UploadUtil.isDirsExist(tempPath);
dfif.setRepository(new File(tempPath));
// 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录
// 用以上工厂实例化上传组件
ServletFileUpload sfu = new ServletFileUpload(dfif);
sfu.setSizeMax(MAX_SIZE);// 设置最大上传尺寸
2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet UpdateUserInfo threw exception
java.lang.NullPointerException
at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
晕,早上异常哈.
com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
查看这个方法,不是你这些代码的问题嘛.package com.mct.servlet;import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.mct.utils.DbUtil;
import com.mct.utils.UploadUtil;
import com.mct.utils.UserDbUtil;public class UpdateUserInfo extends HttpServlet {
public static final String PHOTO_PATH = "D:/blog/photo/";
// 注册
private static final int TYPE_REGIST = 1;
// 更新
private static final int TYPE_UPDATE = 2; private int type; /**
*
*/
private static final long serialVersionUID = 1L; @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/html;charset=UTF-8");
PrintWriter pw = resp.getWriter(); String typeStr = req.getServletPath();
if (null != typeStr) {
typeStr = typeStr.substring(1);
if (typeStr.equals("regist")) {
type = TYPE_REGIST;
} else {
type = TYPE_UPDATE;
}
}
String contentType = req.getContentType();
Map<String, String> map = new HashMap<String, String>();
// 从文件上传中携带参数
if (type != 0
&& (contentType.contains("multipart/form-data") || contentType
.contains("multipart/mixed"))) {
final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M
// 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory();
dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘
String tempPath = PHOTO_PATH + "temp\\";
// 判断临时文件夹是否存在,不存在则创建临时文件夹
UploadUtil.isDirsExist(tempPath);
dfif.setRepository(new File(tempPath));
// 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录
// 用以上工厂实例化上传组件
ServletFileUpload sfu = new ServletFileUpload(dfif);
sfu.setSizeMax(MAX_SIZE);// 设置最大上传尺寸 try {
// 从request得到 所有 上传域的列表
List<FileItem> fileList = sfu.parseRequest(req);
// 得到所有上传的文件
Iterator<FileItem> fileItr = fileList.iterator();
// 循环处理所有文件
while (fileItr.hasNext()) {
FileItem fileItem = null;
// 得到当前文件
fileItem = (FileItem) fileItr.next();
// 忽略简单form字段而不是上传域的文件域(<input type="text" />等)
if (fileItem == null) {
continue;
}
if (fileItem.isFormField()) {
String fieldName = fileItem.getFieldName();
String value = DbUtil.utfString(fileItem.getString());
map.put(fieldName, value);
continue;
}
String saveName;
2014-10-28 17:11:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet UpdateUserInfo threw exception
java.lang.NullPointerException
at com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
晕,早上异常哈.
com.mct.servlet.UpdateUserInfo.doGet(UpdateUserInfo.java:59)
查看这个方法,不是你这些代码的问题嘛.package com.mct.servlet;import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.mct.utils.DbUtil;
import com.mct.utils.UploadUtil;
import com.mct.utils.UserDbUtil;public class UpdateUserInfo extends HttpServlet {
public static final String PHOTO_PATH = "D:/blog/photo/";
// 注册
private static final int TYPE_REGIST = 1;
// 更新
private static final int TYPE_UPDATE = 2; private int type; /**
*
*/
private static final long serialVersionUID = 1L; @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/html;charset=UTF-8");
PrintWriter pw = resp.getWriter(); String typeStr = req.getServletPath();
if (null != typeStr) {
typeStr = typeStr.substring(1);
if (typeStr.equals("regist")) {
type = TYPE_REGIST;
} else {
type = TYPE_UPDATE;
}
}
String contentType = req.getContentType();
Map<String, String> map = new HashMap<String, String>();
// 从文件上传中携带参数
if (type != 0
&& (contentType.contains("multipart/form-data") || contentType
.contains("multipart/mixed"))) {
final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M
// 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory();
dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘
String tempPath = PHOTO_PATH + "temp\\";
// 判断临时文件夹是否存在,不存在则创建临时文件夹
UploadUtil.isDirsExist(tempPath);
dfif.setRepository(new File(tempPath));
// 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录
// 用以上工厂实例化上传组件
ServletFileUpload sfu = new ServletFileUpload(dfif);
sfu.setSizeMax(MAX_SIZE);// 设置最大上传尺寸 try {
// 从request得到 所有 上传域的列表
List<FileItem> fileList = sfu.parseRequest(req);
// 得到所有上传的文件
Iterator<FileItem> fileItr = fileList.iterator();
// 循环处理所有文件
while (fileItr.hasNext()) {
FileItem fileItem = null;
// 得到当前文件
fileItem = (FileItem) fileItr.next();
// 忽略简单form字段而不是上传域的文件域(<input type="text" />等)
if (fileItem == null) {
continue;
}
if (fileItem.isFormField()) {
String fieldName = fileItem.getFieldName();
String value = DbUtil.utfString(fileItem.getString());
map.put(fieldName, value);
continue;
}
String saveName;亲,你总贴代码也不是个办法呀,你得debug一下啊