データベース上のオブジェクトを追加/削除するには、EJB にアクセスする必要があります。現在、注釈付きコントローラー (Spring を使用) がサービス クラスを呼び出し、そのサービス クラスがファサードを呼び出してデータベース リクエストを解決します。
この例外が発生しています:
警告: StandardWrapperValve[ディスパッチャ]: PWC1406: サーブレット ディスパッチャの Servlet.service() が、br.com.CadmusWeb で br.com.CadmusWeb.service.ClienteService.novoCliente(ClienteService.java:21) で例外 java.lang.NullPointerException をスローしました。 controller.LoginController.clienteNovo(LoginController.java:100) (>> でマークされている例外が指摘する行)
EJB を初めて使用する
私のコントローラー:
@Controller
public class LoginController {
private ClientService cliServ;
public LoginController() {
this.cliServ = new ClientService();
}
@RequestMapping("clientMenu/clientNew.html")
public ModelAndView clientNew(HttpServletRequest request) {
Client cli = new Client();
cli.setName((String) request.getAttribute("clientName"));
>>cliServ.newClient(cli);
return new ModelAndView("clientMenuNew");
}
サービスクラス
public class ClientService {
@EJB
private ClientFacade clientFacade;
public void novoClient(Client cli){
>>clientFacade.create(cli);
}
public void deleteClient(Client cli){
clientFacade.remove(cli);
}
}
ClientFacade
@Stateless
public class ClientFacade extends AbstractFacade<Client> {
@PersistenceContext(unitName = "WebProjectPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ClientFacade() {
super(Client.class);
}
}