关于网友提出的“ java ejb加了一个service层后在web层调用sessionBean报空指针”问题疑问,本网通过在网上对“ java ejb加了一个service层后在web层调用sessionBean报空指针”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: java ejb加了一个service层后在web层调用sessionBean报空指针
描述:javawebejbexception
在FirstAppEJB里面的有:
package com.ejb.service.impl;
import java.util.List;
import javax.ejb.Remote;
import javax.ejb.Stateful;
import com.ejb.beans.Employee;
import com.ejb.dao.EmployeeDao;
import com.ejb.service.EmployeeService;
@Stateful
@Remote(EmployeeService.class)
public class EmployeeServiceBean implements EmployeeService {
private EmployeeDao employeeDao;
public void setEmployeeDao(EmployeeDao employeeDao) {
this.employeeDao = employeeDao;
}
public Employee find(String id) {
return employeeDao.find(id);
}
public void add(Employee employee) {
employeeDao.add(employee);
}
public void remove(Employee employee) {
employeeDao.remove(employee);
}
public List
findAll() {
return employeeDao.findAll();
}
public List findPages(int pageNow, int pageSize) {
return employeeDao.findPages(pageNow, pageSize);
}
public int findPageSize() {
return employeeDao.findPageSize();
}
}
在web层调用的有:
package com.web.action.Action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.ejb.beans.Employee;
import com.ejb.dao.EmployeeDao;
import com.ejb.page.Pager;
import com.ejb.service.EmployeeService;
import com.web.action.Form.EmployeeForm;
import com.web.action.service.ServiceTool;
public class FindAllEmployeeAction extends Action {
// private static EmployeeDao employeeDao;
private static EmployeeService employeeDao;
private final static int PAGE_SIZE=3;
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
EmployeeForm employeeForm = (EmployeeForm) form;
// EmployeeDao employeeDao = (EmployeeDao)EJBFactory.getEJB("FirstAppVelocity/EmployeeDaoBean/remote");
EmployeeService employeeDao=(EmployeeService)EJBFactory.getEJB("FirstAppVelocity/EmployeeServiceBean/remote");
int pageNow = 1;
String pageNowStr = request.getParameter("pageNow");
if(pageNowStr!=null && !"".equals(pageNowStr)){
pageNow = Integer.parseInt(pageNowStr);
}
int totalSize=employeeDao.findPageSize();
List employeeList1=employeeDao.findPages(pageNow,this.PAGE_SIZE);
request.setAttribute("employeeList1", employeeList1);
Pager page=new Pager(pageNow,totalSize);
request.setAttribute("page", page);
return mapping.findForward("success");
}
}
报错误为:空指针,获取不到employeeDao.findPageSize()也就是远程调用不了
求指点
以上介绍了“ java ejb加了一个service层后在web层调用sessionBean报空指针”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2879835.html