小弟新手,上次问了个字符串问题,因为JAVA的课程是下学期才学的。这次还是关于那个简单网络硬盘的程序:简单的说就是从JSP页面里得到一个关于地址的字符串,然后在Service层把它分割成dir和fileName,再分别赋值给一个file对象,这个对象里有两个字段就是dir和fileName,在Dao层里把这个file对象存入数据库中。
但是总是得到如下错误:
description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
root cause java.lang.NullPointerException
org.nbu.lab619.service.impl.FileServiceImpl.save(FileServiceImpl.java:21)
org.nbu.lab619.action.webdisk.UploadAction.saveFileInfo(UploadAction.java:52)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)...........略....上网查了下说是操作了什么空的对象。下面是我的Service代码:
public class FileServiceImpl implements FileService{
private FileDao fileDao;
private File file; public File getFile() {
return file;
} public void setFile(File file) {
this.file = file;
} public FileDao getFileDao() {
return fileDao;
} public void setFileDao(FileDao fileDao) {
this.fileDao = fileDao;
}
public void save(String path){
int index = path.lastIndexOf('\\');
String dir = path.substring(0, index);
String fileName = path.substring(index+1);
file.setDir(dir);
file.setFileName(fileName);
fileDao.saveInfo(file);
}DAO层代码:
public void saveInfo(File file){
getHibernateTemplate().saveOrUpdate(file);
}可我在save函数中不是已经给file的两个字段赋值了吗?怎么会是空的呢?
总之不明白啦,各位大侠请赐教啊。
但是总是得到如下错误:
description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
root cause java.lang.NullPointerException
org.nbu.lab619.service.impl.FileServiceImpl.save(FileServiceImpl.java:21)
org.nbu.lab619.action.webdisk.UploadAction.saveFileInfo(UploadAction.java:52)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)...........略....上网查了下说是操作了什么空的对象。下面是我的Service代码:
public class FileServiceImpl implements FileService{
private FileDao fileDao;
private File file; public File getFile() {
return file;
} public void setFile(File file) {
this.file = file;
} public FileDao getFileDao() {
return fileDao;
} public void setFileDao(FileDao fileDao) {
this.fileDao = fileDao;
}
public void save(String path){
int index = path.lastIndexOf('\\');
String dir = path.substring(0, index);
String fileName = path.substring(index+1);
file.setDir(dir);
file.setFileName(fileName);
fileDao.saveInfo(file);
}DAO层代码:
public void saveInfo(File file){
getHibernateTemplate().saveOrUpdate(file);
}可我在save函数中不是已经给file的两个字段赋值了吗?怎么会是空的呢?
总之不明白啦,各位大侠请赐教啊。
fileDao是不是没有被注入?
file.setDir(dir);
file.setFileName(fileName);
这么还是null呢?