传统的做法
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package prj23_1.action;
import javax.servlet.ServletContext;
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 org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import prj23_1.form.LoginForm;
import dao.CustomerDao;
import dao.IDAO;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
String account = loginForm.getAccount();
String password = loginForm.getPassword();
//在此调用Dao
CustomerDao cs=new CustomerDao();
cs.getCusomerByAccount(account);
return new ActionForward("/login.jsp");
}
}
===========================================
CustomerDao.java
package dao;
import po.Customer;
public class CustomerDao implements IDAO{
public Customer getCusomerByAccount(String account){
System.out.println("Dao作查询,账号是:" + account);
return null;
}
}
=-=================================
Customer.java
package po;
public class Customer {
}
====================================
可以看到LoginAction中CustomerDao cs=new CustomerDao();
是入侵式代码,开发Action的人员就要知道多少个Dao,要用到哪个Dao。
所以不好。
解决方案:
可以用接口来管理Dao,并且创建对象由spring来管理。
看下一节。