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.apache.struts.validator.DynaValidatorForm;
import com.test.UserDAO;
public class LoginAction extends Action {
private UserDAO userDAO;
public UserDAO getUserDAO() { return userDAO; }
public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; }
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { DynaValidatorForm loginForm = (DynaValidatorForm) form; // TODO Auto-generated method stub
String username = (String) loginForm.get(\ String password = (String) loginForm.get(\ loginForm.set(\
if (userDAO.isValidUser(username,password)) { return mapping.findForward(\ } else {
return mapping.getInputForward(); } } }
4.现在剩下最后的spring配置了
现在可以进行测试了!
在编写代码有配置内容时一定要注意 hibernate 和 hibernate3 ,这两个包的名字就只差一个字,千万不要有错,否则找错误可是很难的。
注意要把spring-hibernate.jar或者把spring.jar加到工程lib里 工程原码见SSHlogin
SSH整合实例(3)
所谓SSH就是spring+struts+hibernate的整合。他们各司其职:hibernate对数据持久化进行操作,struts对页面和Action进行交互与控制。而spring它就象一个轻量型的容器,它把struts和hibernate通过代理模式写入自己的XML中并对其进行管理。它包括IOC和AOP,它们实现了对对象的生成,组装和销毁。另外它还对事务,国际化,持久化的支持。
下面用一个用户登录的页面来进行一个小小的整合。 包结构:src
---entity ---dao ---biz
---sql ----config ---web 1.在entity包下建User.java
代码:package com.kettas.entity;
import java.io.Serializable;
public class User implements Serializable{ private Integer uid; private String name; private String password;
public Integer getUid() { return uid; }
public void setUid(Integer uid) { this.uid = uid; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public User() { super();
// TODO Auto-generated constructor stub }
public User(String name, String password) { super();
this.name = name;
this.password = password; } }
2.sql包中建数据库:user.sql create table u_table(
id number(7) primary key, name varchar2(15), password varchar2(15) );
create sequence u_table_seq;
insert into u_table values(1001,'admin','admin'); insert into u_table values(1002,'liang','liang'); insert into u_table values(1003,'amanda','1234'); insert into u_table values(1004,'aaaa','1111'); 3.entity包下建user.hbm.xml 其中代码:
4.在dao和biz包中分别建立UserDao.java UserBiz.java 接口,具体实现略。 public interface UserDao {
public void insert(User user); public void update(User user); public void delete(Integer id); public User queryById(Integer id);
public List
public User selectByName(String username); public User selectById(Integer id); }
public interface UserBiz {
public User login(String userName,String password); }
5.index.jsp ok.jsp failed.jsp index.jsp
<%@ page contentType=\