最近几天没写东西了,呵呵,并不是没学习了,一直在努力了!前不久我在自己的QQ删了一个人,其实说真的我不想了,但是我太感性了,因为现在的我必须学东西了,有时候我连自己真的都控制不了啊,没办法,我只能对自己这样了,我没别的选择了,因为我必须理性啊,有时候真的希望自己冷血了,但是我真的做不到啊!呵呵,不乱砍了,现在开始讲spring+hibernate的登录了,
前台页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
package org.scuta.action;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.scuta.dto.LoginDTO;
import org.scuta.model.ChanPin;
import org.scuta.service.IListProductService;
import org.scuta.service.ILoginService;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
public class LoginAction extends SimpleFormController {
private String cancelView;
private ILoginService loginService;
public String getCancelView() {
return cancelView;
}
public void setCancelView(String cancelView) {
this.cancelView = cancelView;
}
public ILoginService getLoginService() {
return loginService;
}
public void setLoginService(ILoginService loginService) {
this.loginService = loginService;
}
public ModelAndView onSubmit(Object command,BindException exception) throws Exception {
LoginDTO loginDTO = (LoginDTO) command;
Boolean test = loginService.Login(loginDTO.getName(),
loginDTO.getPassword());
if (test) {
return new ModelAndView (this.getSuccessView());
} else {
return new ModelAndView (this.getCancelView());
}
}
}
LoginDAO类代码如下:
public interface ILoginDAO {
public List
}
public class LoginDAOImpl extends GenericDAOImpl
public List
String hql="from User where username=?";
return this.find(hql,name);
}
}
一个接口一个实现类.
LoginService类代码如下:
public interface ILoginService {
public boolean Login(String name,String password);
}
public class LoginServiceImpl implements ILoginService {
private ILoginDAO loginDAO;
public ILoginDAO getLoginDAO() {
return loginDAO;
}
public void setLoginDAO(ILoginDAO loginDAO) {
this.loginDAO = loginDAO;
}
public boolean Login(String name, String password) {
// TODO Auto-generated method stub
List
if (user.size()==0) {
return false;
} else if (user.get(0).getPassword().equals(password)) {
return true;
} else {
return false;
}
}
}
同样了,在spring里面有一个IOC依赖注入,在service层注入DAO层,再在Controller层注入service层了,service层是业务逻辑层,DAO层是数据库持久层,controller层是控制层,转发页面,现在强调的是每层都是分层清晰的,功能单一的,不要混乱,尤其是写代码,不能把业务逻辑代码写到DAO层,就是不要混淆各层的任务了!这一点我也在学习过程中了,其实前不久我做了一个这种架构的系统了,但是由于实际经验实在是太少了,所以很多东西还在摸索阶段了,虽说按照这种方法做的,但是没理解了!最近心情不太爽了,各方面的原因了,看设计模式看了两个多月了,昨天晚上的确有点感觉了,本身想写点感受的,但是昨天又忘了,日子还长,一有感觉我就会发表自己的观点了!呵呵!加油了!