?? registeraction.java
字號:
package bookstore;
import java.util.List;
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.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.hibernate.Query;
import org.hibernate.Session;
import bookstore.database.HibernateUtil;
import bookstore.database.Userinfo;
public class RegisterAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm srcForm,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
RegisterForm form = (RegisterForm) srcForm;
ActionMessages errors = new ActionMessages();
try {
// 檢查用戶名是否已經被使用
if (!checkUserName(form.getUsername())) {
errors.add("usedUsername", new ActionMessage(
"register.usedUsername"));
this.saveErrors(request, errors);
return mapping.getInputForward();
}
// 注冊新用戶
Userinfo user = new Userinfo();
user.setUsername(new String(form.getUsername().getBytes(
"ISO-8859-1"), "GB2312"));
user.setPwd(form.getPassword());
user.setEmail(form.getEmail());
user.setAddress(new String(
form.getAddress().getBytes("ISO-8859-1"), "GB2312"));
user.setPostcode(form.getPostcode());
Session session = HibernateUtil.currentSession();
HibernateUtil.beginTransaction();
session.saveOrUpdate(user);
HibernateUtil.commitTransaction();
request.getSession().setAttribute("user", user);
System.out.println(user.getId());
} catch (Exception e) {
// 如果數據庫出現錯誤則返回上一頁并給出提示
errors.add("dbError", new ActionMessage("globle.dbError"));
this.saveErrors(request, errors);
return mapping.getInputForward();
}
// 成功后返回首頁
return mapping.findForward("frontPage");
}
private boolean checkUserName(String username) {
Session session = HibernateUtil.currentSession();
HibernateUtil.beginTransaction();
Query query = session.createQuery(
"from Userinfo as u where u.username=:username").setString(
"username", username).setMaxResults(1);
List result = query.list();
HibernateUtil.commitTransaction();
return result.size() == 0;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -