用SSH框架写一个简单的网站登陆系统。

2025-04-15 10:21:54
推荐回答(2个)
回答(1):

我把代码P一下,但是不是按你的关键字,略加修改一下就行:
这个是登录的,注册的就多写一个action就行,......其实就是添加用户,不过得先检验一下是否已经存在这个用户!这里MyHibernateDAO是的自己的一个分页extends自HibernateDAOSupport
表:
create table userinfo(userinfoID int identity(1,1) not null ,
username varchar(10) not null,
password varchar(20) not null,
realname varchar(10)not null,
tel varchar(20),
role varchar(10)not null,
userinfo varchar(5) not null,
PRIMARY KEY(userinfoID ),
);

dao:

package com.last.dao.impl;

import java.util.List;

import com.last.dao.MyHibernateDaoSupport;
import com.last.dao.UserinfoDAO;
import com.last.po.Userinfo;

public class UserinfoDAOImpl extends MyHibernateDaoSupport implements
UserinfoDAO {

@Override
public void save(Userinfo userinfo) throws Exception {
this.getHibernateTemplate().save(userinfo);
}

@Override
public Userinfo findById(Integer userinfoID) throws Exception {
return this.getHibernateTemplate().get(Userinfo.class, userinfoID);
}

@SuppressWarnings("unchecked")
@Override
public Userinfo findByProperty(String propertyName, Object value)
throws Exception {
String hql="from Userinfo as u where u."+propertyName+"=?";
List userinfo =this.getHibernateTemplate().find(hql, value);
if(userinfo != null && userinfo.size()==1)
{
return userinfo.get(0);
}
return null;
}

@Override
public List findByPage(Userinfo userinfo, int pageNo)
throws Exception {

return null;
}

@Override
public void update(Userinfo userinfo) throws Exception {
this.getHibernateTemplate().update(userinfo);
}

@Override
public void delete(Userinfo userinfo) throws Exception {
this.getHibernateTemplate().delete(userinfo);
}

@SuppressWarnings("unchecked")
@Override
public List findAll() throws Exception {
return this.getHibernateTemplate().find("from Userinfo");
}

}

service:

package com.last.service.impl;

import java.util.List;

import com.last.dao.UserinfoDAO;
import com.last.po.Userinfo;
import com.last.service.UserinfoService;

public class UserinfoServiceImpl implements UserinfoService {

private UserinfoDAO userinfoDAO;

public UserinfoDAO getUserinfoDAO() {
return userinfoDAO;
}

public void setUserinfoDAO(UserinfoDAO userinfoDAO) {
this.userinfoDAO = userinfoDAO;
}

@Override
public void saveUserinfo(Userinfo userinfo) throws Exception {
this.userinfoDAO.save(userinfo);
}

@Override
public Userinfo findUserinfoByProperty(String propertyName, Object value)
throws Exception {
return this.userinfoDAO.findByProperty(propertyName, value);
}

@Override
public List findAllUserinfo() throws Exception {
return this.userinfoDAO.findAll();
}

@Override
public void updateUserinfo(Userinfo userinfo) throws Exception {
this.userinfoDAO.update(userinfo);
}

@Override
public void deleteUserinfo(Userinfo userinfo) throws Exception {
this.userinfoDAO.delete(userinfo);
}

@Override
public boolean login(String username, String password) throws Exception {
System.out.println("进入到service");
System.out.println(username);
System.out.println(password);
if(username==null||"".equals(username))
{
return false;
}else{
Userinfo userinfo = this.userinfoDAO.findByProperty("username", username);
if(!password.equals(userinfo.getPassword()))
{
return false;
}
}
return true;
}

}

action:

package com.last.action;

import java.util.Map;

import com.last.po.Userinfo;
import com.last.service.UserinfoService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

/**
*
*/
private static final long serialVersionUID = 1L;
private Userinfo userinfo;
public Userinfo getUserinfo() {
return userinfo;
}
public void setUserinfo(Userinfo userinfo) {
this.userinfo = userinfo;
}

private UserinfoService userinfoService;
public UserinfoService getUserinfoService() {
return userinfoService;
}
public void setUserinfoService(UserinfoService userinfoService) {
this.userinfoService = userinfoService;
}

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public String execute() throws Exception {

String username = this.userinfo.getUsername().trim();
String password = this.userinfo.getPassword().trim();

System.out.println("进入到execute");
if(this.userinfoService.login(username, password))
{
Map session = ActionContext.getContext().getSession();
session.clear();
Userinfo userinfo = this.userinfoService.findUserinfoByProperty("username", username);
session.put("userinfo", userinfo);
return SUCCESS;
}
addActionError("用户错误或者密码错误!");
return INPUT;
}
}

回答(2):