﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-陈高杰-文章分类-SSH我的智囊团</title><link>http://www.blogjava.net/kingaragorn/category/32975.html</link><description>kingaragorn</description><language>zh-cn</language><lastBuildDate>Mon, 14 Jul 2008 10:13:49 GMT</lastBuildDate><pubDate>Mon, 14 Jul 2008 10:13:49 GMT</pubDate><ttl>60</ttl><item><title>6、7、8、9----SSH综合实战（Struts+Spring+Hibernate）----我的智囊团（提问及回答功能(上)1、2、3、4） </title><link>http://www.blogjava.net/kingaragorn/articles/214585.html</link><dc:creator>陈高杰</dc:creator><author>陈高杰</author><pubDate>Sun, 13 Jul 2008 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/kingaragorn/articles/214585.html</guid><wfw:comment>http://www.blogjava.net/kingaragorn/comments/214585.html</wfw:comment><comments>http://www.blogjava.net/kingaragorn/articles/214585.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingaragorn/comments/commentRss/214585.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingaragorn/services/trackbacks/214585.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 测试数据INSERT INTO item(itemname, itemcode) VALUES ('JAVA SE', 1);INSERT INTO item(itemname, itemcode) VALUES ('JAVA EE', 2);INSERT INTO subitem(subname,itemid, subcode) VALUES ('面向对象', 1, 1);...&nbsp;&nbsp;<a href='http://www.blogjava.net/kingaragorn/articles/214585.html'>阅读全文</a><img src ="http://www.blogjava.net/kingaragorn/aggbug/214585.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingaragorn/" target="_blank">陈高杰</a> 2008-07-13 15:56 <a href="http://www.blogjava.net/kingaragorn/articles/214585.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>4、5----SSH综合实战（Struts+Spring+Hibernate）----我的智囊团（用户登录1、2） </title><link>http://www.blogjava.net/kingaragorn/articles/214566.html</link><dc:creator>陈高杰</dc:creator><author>陈高杰</author><pubDate>Sun, 13 Jul 2008 04:06:00 GMT</pubDate><guid>http://www.blogjava.net/kingaragorn/articles/214566.html</guid><wfw:comment>http://www.blogjava.net/kingaragorn/comments/214566.html</wfw:comment><comments>http://www.blogjava.net/kingaragorn/articles/214566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingaragorn/comments/commentRss/214566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingaragorn/services/trackbacks/214566.html</trackback:ping><description><![CDATA[<span style="font-family: 微软雅黑;">如果出现乱码的解决方法<br />
把my.ini里的两个default-character-set=latin1都改为gbk<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">login.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;<br />
&lt;/jsp:include&gt;<br />
<br />
&lt;logic:present name="flag" scope="request"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;logic:equal value="error" name="flag" scope="request"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;h2&gt;登陆失败，错误的用户名或密码！&lt;/h2&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/logic:equal&gt;<br />
&lt;/logic:present&gt;<br />
<br />
&lt;html:form action="jsp/user.do" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; 用户ＩＤ：&lt;html:text property="userid"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 登陆密码：&lt;html:password property="userpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 验证码：&lt;html:text property="checkcode"&gt;&lt;/html:text&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;img src="image.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="status" value="login"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="type" value="2"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:submit value="登陆"&gt;&lt;/html:submit&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:reset value="重置"&gt;&lt;/html:reset&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href="register.jsp"&gt;注册新用户？&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href="forgetpwd.jsp"&gt;忘记密码？&lt;/a&gt;<br />
&lt;/html:form&gt; <br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">IUserDAO.java<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; // 登录验证<br />
&nbsp;&nbsp;&nbsp; public boolean login(User user) throws Exception;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; // 找回密码操作 --&gt; 允许用户修改密码<br />
&nbsp;&nbsp;&nbsp; public void updateUserpwd(String userid, String userpwd) throws Exception;<br />
<br />
&nbsp;&nbsp;&nbsp; // 根据提示问题、答案、用户名确定此用户是否存在<br />
&nbsp;&nbsp;&nbsp; public boolean isExists(String userid, String userques, String userans)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throws Exception;&nbsp;&nbsp;&nbsp; <br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">IUserDAOImpl.java<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; public boolean isExists(String userid, String userques, String userans)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throws Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; boolean flag = false;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String hql = "FROM User AS u WHERE u.userid=? AND u.userques=? AND u.userans=?";<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Query q = super.getSession().createQuery(hql);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(0, userid);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(1, userques);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(2, userans);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; List all = q.list();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (all.size() &gt; 0) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; flag = true;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return flag;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public boolean login(User user) throws Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; boolean flag = false;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String hql = "FROM User AS u WHERE u.userid=? and u.userpwd=?";<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Query q = super.getSession().createQuery(hql);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(0, user.getUserid());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(1, user.getUserpwd());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; List all = q.list();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (all.size() &gt; 0) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; flag = true;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; User t = (User) all.get(0);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setGrade(t.getGrade());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return flag;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void updateUserpwd(String userid, String userpwd) throws Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String hql = "UPDATE User SET userpwd=? WHERE userid=?";<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Query q = super.getSession().createQuery(hql);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(0, userpwd);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(1, userid);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.executeUpdate();<br />
&nbsp;&nbsp;&nbsp; }<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">forgetpwd.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;<br />
&lt;/jsp:include&gt;<br />
&lt;html:form action="jsp/user.do" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; 用户ＩＤ：&lt;html:text property="userid"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 找回密码提示问题：&lt;html:text property="userques"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 密码提示问题答案：&lt;html:text property="userans"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 验证码：&lt;html:text property="checkcode"&gt;&lt;/html:text&gt;&lt;img src="image.jsp"&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="status" value="forgetpwd"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="type" value="3"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:submit value="找回密码"&gt;&lt;/html:submit&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:reset value="重置"&gt;&lt;/html:reset&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href="login.jsp"&gt;用户登陆？&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;a href="register.jsp"&gt;用户注册？&lt;/a&gt;<br />
&lt;/html:form&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">updatepwd.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;%@ page import="java.util.*"%&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;<br />
&lt;html:html lang="true"&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;<br />
&lt;/jsp:include&gt; <br />
&lt;%-- 用户已存在，可以进行更新密码操作 --%&gt;<br />
&lt;logic:present name="flag" scope="request"&gt;<br />
&lt;logic:equal value="exists" name="flag" scope="request"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:form action="jsp/user.do" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 新的密码：&lt;html:password property="userpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 确认密码：&lt;html:password property="confirmpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 验证码：&lt;html:text property="checkcode"&gt;&lt;/html:text&gt;&lt;img src="image.jsp"&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="status" value="updatepwd"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="type" value="4"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="userid" value="${param.userid}"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;html:submit value="更新密码"&gt;&lt;/html:submit&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;html:reset value="重置"&gt;&lt;/html:reset&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href="login.jsp"&gt;用户登陆？&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href="register.jsp"&gt;用户注册？&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/html:form&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;script language="javaScript"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; document.userForm.checkcode.value = "" ;<br />
&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&lt;/logic:equal&gt;<br />
&lt;/logic:present&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html:html&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">注：</span><span style="font-family: 微软雅黑;">document.userForm.checkcode.value = "" 是为了清空那个表格中的内容，不然会把上次的遗留下来<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">updatepwd_do.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;<br />
&lt;/jsp:include&gt; <br />
&lt;h2&gt;密码修改成功！&lt;/h2&gt;<br />
&lt;a href="login.jsp"&gt;用户登陆？&lt;/a&gt;<br />
&lt;a href="register.jsp"&gt;用户注册？&lt;/a&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">UserForm.java<br />
</span><hr size="2" width="100%" />
&nbsp;&nbsp;&nbsp;<span style="font-family: 微软雅黑;"> public ActionErrors validate(ActionMapping mapping,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; HttpServletRequest request) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionErrors errors = new ActionErrors();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (type == 1) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userid == null || "".equals(this.userid)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userid", new ActionMessage("user.userid.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userpwd == null || "".equals(this.userpwd)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userpwd", new ActionMessage("user.userpwd.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!this.userpwd.equals(this.confirmpwd)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("confirmpwd", new ActionMessage("user.confirmpwd.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userques == null || "".equals(this.userques)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userques", new ActionMessage("user.userques.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userans == null || "".equals(this.userans)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userans", new ActionMessage("user.userans.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.checkcode == null || "".equals(this.checkcode)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (type == 2) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userid == null || "".equals(this.userid)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userid", new ActionMessage("user.userid.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userpwd == null || "".equals(this.userpwd)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userpwd", new ActionMessage("user.userpwd.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.checkcode == null || "".equals(this.checkcode)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (type == 3) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userid == null || "".equals(this.userid)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userid", new ActionMessage("user.userid.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userques == null || "".equals(this.userques)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userques", new ActionMessage("user.userques.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userans == null || "".equals(this.userans)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userans", new ActionMessage("user.userans.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.checkcode == null || "".equals(this.checkcode)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (type == 4) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userid == null || "".equals(this.userid)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userid", new ActionMessage("user.userid.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.userpwd == null || "".equals(this.userpwd)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("userpwd", new ActionMessage("user.userpwd.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!(this.userpwd.equals(this.confirmpwd))) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("configpwd", new ActionMessage(<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "user.confirmpwd.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (this.checkcode == null || "".equals(this.checkcode)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.null"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return errors;<br />
&nbsp;&nbsp;&nbsp; }</span><span style="font-family: 微软雅黑;"><br />
</span><span style="font-family: 微软雅黑;">
</span><span style="font-family: 微软雅黑;">
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">UserAction.java<br />
</span><hr size="2" width="100%" />
&nbsp;&nbsp;&nbsp;<span style="font-family: 微软雅黑;"> public ActionForward login(ActionMapping mapping, ActionForm form,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; HttpServletRequest request, HttpServletResponse response) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserForm userForm = (UserForm) form;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String ccode = (String) request.getSession().getAttribute("ccode");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String checkcode = userForm.getCheckcode();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!(checkcode.equals(ccode))) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionMessages errors = new ActionMessages();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.saveErrors(request, errors);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.getInputForward();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; User user = new User();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MD5Code md5 = new MD5Code();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setUserid(userForm.getUserid());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setUserpwd(md5.getMD5ofStr(userForm.getUserpwd()));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; boolean flag = false;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; flag = this.iuserdao.login(user);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (flag) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 登陆成功<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 向session之中设置内容<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request.getSession().setAttribute("userid", user.getUserid());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request.getSession().setAttribute("grade", user.getGrade());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("loginsuccess");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request.setAttribute("flag", "error");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("loginfailure");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public ActionForward forgetpwd(ActionMapping mapping, ActionForm form,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; HttpServletRequest request, HttpServletResponse response) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserForm userForm = (UserForm) form;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String ccode = (String) request.getSession().getAttribute("ccode");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String checkcode = userForm.getCheckcode();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!(checkcode.equals(ccode))) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionMessages errors = new ActionMessages();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.saveErrors(request, errors);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.getInputForward();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; boolean flag = true;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; flag = this.iuserdao.isExists(userForm.getUserid(), userForm<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .getUserques(), userForm.getUserans());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 返回到修改密码页<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 返回到提示问题页<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (flag) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request.setAttribute("flag", "exists");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("exists");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("notexists");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public ActionForward updatepwd(ActionMapping mapping, ActionForm form,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; HttpServletRequest request, HttpServletResponse response) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserForm userForm = (UserForm) form;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String ccode = (String) request.getSession().getAttribute("ccode");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String checkcode = userForm.getCheckcode();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!(checkcode.equals(ccode))) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionMessages errors = new ActionMessages();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.saveErrors(request, errors);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.getInputForward();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MD5Code md5 = new MD5Code();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.iuserdao.updateUserpwd(userForm.getUserid(), md5<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .getMD5ofStr(userForm.getUserpwd()));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("updatepwddo");<br />
&nbsp;&nbsp;&nbsp; }<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">struts-config.xml<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; &lt;action<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute="userForm"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input="/jsp/errors.jsp"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="userForm"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parameter="status"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path="/jsp/user"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="org.lxh.zngt.struts.action.UserAction"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="registersuccess" path="/jsp/index.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="registerfailure" path="/jsp/register.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="loginsuccess" path="/jsp/index.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="loginfailure" path="/jsp/login.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="exists" path="/jsp/updatepwd.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="notexists" path="/jsp/forgetpwd.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="updatepwddo" path="/jsp/updatepwd_do.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">本节到此为止<br />
</span><br />
<span style="font-family: 微软雅黑;">
</span>
<img src ="http://www.blogjava.net/kingaragorn/aggbug/214566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingaragorn/" target="_blank">陈高杰</a> 2008-07-13 12:06 <a href="http://www.blogjava.net/kingaragorn/articles/214566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3----SSH综合实战（Struts+Spring+Hibernate）----我的智囊团（用户注册2） </title><link>http://www.blogjava.net/kingaragorn/articles/214474.html</link><dc:creator>陈高杰</dc:creator><author>陈高杰</author><pubDate>Sat, 12 Jul 2008 11:42:00 GMT</pubDate><guid>http://www.blogjava.net/kingaragorn/articles/214474.html</guid><wfw:comment>http://www.blogjava.net/kingaragorn/comments/214474.html</wfw:comment><comments>http://www.blogjava.net/kingaragorn/articles/214474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingaragorn/comments/commentRss/214474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingaragorn/services/trackbacks/214474.html</trackback:ping><description><![CDATA[<span style="font-family: 微软雅黑;">在errors.jsp、register.jsp和index.jsp中的inc前面加上../<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">index.jsp</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
<strong>&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;</strong><br />
&lt;/jsp:include&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">template.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;!-- 作者：董鸣楠--&gt;<br />
&lt;table width="760" border="0" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;tr align="center"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td width="345"&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td width="212"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href="#"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;img src="<strong>${param.url}</strong>images/banner_logo.jpg" alt="智囊团" width="170" height="78" border="0"/&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td width="345"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;table width="345"&nbsp; border="0" cellspacing="0" cellpadding="0"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;tr valign="middle"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td align="right"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href="#"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;img src="<strong>${param.url}</strong>images/banner_ico05.jpg" alt="我要提问" border="0"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td width="138"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href="#"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;img src="<strong>${param.url}</strong>images/banner_ico06.jpg" alt="我要登录" border="0"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;hr&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">register.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;%@ page import="java.util.*"%&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;<br />
&lt;html:html lang="true"&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
<strong>&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;<br />
&lt;/jsp:include&gt;</strong><br />
&lt;h1&gt;用户注册&lt;/h1&gt;<br />
&lt;html:form action="" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; 用户 Ｉ Ｄ：&nbsp;&nbsp;&nbsp; &lt;html:text property="userid"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 用户密码： &lt;html:password property="userpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 确认密码： &lt;html:password property="confirmpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 丢失密码提示问题： &lt;html:text property="userques"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 丢失密码问题答案： &lt;html:text property="userans"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 验证码： &lt;html:text property="checkcode"&gt;&lt;/html:text&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;img src="image.jsp"&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="status" value="register"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="type" value="1"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:submit value="注册"&gt;&lt;/html:submit&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:reset value="重置"&gt;&lt;/html:reset&gt;<br />
&lt;/html:form&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html:html&gt;</span><span style="font-family: 微软雅黑;"><br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">errors.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;%@ page import="java.util.*"%&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;<br />
&lt;html:html lang="true"&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
<strong>&lt;jsp:include flush="true" page="../inc/template.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;jsp:param name="url" value="../"/&gt;<br />
&lt;/jsp:include&gt;</strong><br />
&lt;h1&gt;程序出现了以下错误&lt;/h1&gt;<br />
&lt;html:errors/&gt;<br />
&lt;p&gt;&lt;a href="#" onclick="history.back()"&gt;返回上一页&lt;/a&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html:html&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">浏览器中输入http://localhost:8080/zhinangtuan/jsp/register.jsp却没有反应，原来是因为<br />
&lt;html:form action="user.do" method="post"&gt;中的action原来没有填<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">struts-config.xml<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">path="/jsp/user"<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">register.jsp<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;html:form action="jsp/user.do" method="post"&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">IUserDAO.java<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; // 按userid查找用户<br />
&nbsp;&nbsp;&nbsp; public User queryByUserid(String userid) throws Exception;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">IUserDAOImpl.java<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; public User queryByUserid(String userid) throws Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; User user = null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String hql = "From User As u WHERE u.userid=?";<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Query q = super.getSession().createQuery(hql);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; q.setString(0, userid);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; List all = q.list();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (all.size() &gt; 0) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user = (User) all.get(0);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return user;<br />
&nbsp;&nbsp;&nbsp; }<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">UserAction.java<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; public ActionForward register(ActionMapping mapping, ActionForm form,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; HttpServletRequest request, HttpServletResponse response) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserForm userForm = (UserForm) form;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 先判断验证码是否正确<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String ccode = (String)request.getSession().getAttribute("ccode");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String checkcode = userForm.getCheckcode();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(!checkcode.equals(ccode)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionMessages errors = new ActionMessages();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.saveErrors(request, errors);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.getInputForward();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 如果正确，则需要向数据库中插入<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; User user = null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user = this.iuserdao.queryByUserid(userForm.getUserid());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (user == null) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MD5Code md5 = new MD5Code();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user = new User();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setUserid(userForm.getUserid());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setUserpwd(md5.getMD5ofStr(userForm.getUserpwd()));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setUserques(userForm.getUserques());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setUserans(userForm.getUserans());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; user.setGrade(1);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.iuserdao.register(user);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request.getSession().setAttribute("userid", user.getUserid());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request.getSession().setAttribute("grade", user.getGrade());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("registersuccess");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionMessages errors = new ActionMessages();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("exist", new ActionMessage("user.userid.exist"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.saveErrors(request, errors);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.getInputForward();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.findForward("registerfailure");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">本节到此为止<br />
</span><span style="font-family: 微软雅黑;">
</span><br />
<span style="font-family: 微软雅黑;">
</span>
<img src ="http://www.blogjava.net/kingaragorn/aggbug/214474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingaragorn/" target="_blank">陈高杰</a> 2008-07-12 19:42 <a href="http://www.blogjava.net/kingaragorn/articles/214474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2----SSH综合实战（Struts+Spring+Hibernate）----我的智囊团（用户注册1）  </title><link>http://www.blogjava.net/kingaragorn/articles/214447.html</link><dc:creator>陈高杰</dc:creator><author>陈高杰</author><pubDate>Sat, 12 Jul 2008 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/kingaragorn/articles/214447.html</guid><wfw:comment>http://www.blogjava.net/kingaragorn/comments/214447.html</wfw:comment><comments>http://www.blogjava.net/kingaragorn/articles/214447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingaragorn/comments/commentRss/214447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingaragorn/services/trackbacks/214447.html</trackback:ping><description><![CDATA[<span style="font-family: 微软雅黑;">编写register.jsp</span><br />
<hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;%@ page import="java.util.*"%&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;<br />
&lt;html:html lang="true"&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="inc/template.htm"/&gt;<br />
<strong>&lt;h1&gt;用户注册&lt;/h1&gt;<br />
&lt;html:form action="" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; 用户 Ｉ Ｄ：&nbsp;&nbsp;&nbsp; &lt;html:text property="userid"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 用户密码： &lt;html:password property="userpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 确认密码： &lt;html:password property="confirmpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 丢失密码提示问题： &lt;html:text property="userques"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 丢失密码问题答案： &lt;html:text property="userans"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:submit value="注册"&gt;&lt;/html:submit&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:reset value="重置"&gt;&lt;/html:reset&gt;<br />
&lt;/html:form&gt;</strong><br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html:html&gt;</span><br />
<hr size="2" width="100%" />
<strong><span style="font-family: 微软雅黑;">添加Action</span></strong><br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/kingaragorn/dispatch.PNG" height="435" width="608" /><br />
<hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">struts-config.xml发生变动</span><br />
<span style="font-family: 微软雅黑;"><span style="font-family: 方正姚体;"><span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; &lt;action-mappings &gt;<br />
&nbsp;&nbsp;&nbsp; &lt;action<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute="userForm"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input="/jsp/errors.jsp"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="userForm"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parameter="status"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path="/user"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="org.lxh.zngt.struts.action.UserAction" /&gt;<br />
<br />
&nbsp;&nbsp;&nbsp; &lt;/action-mappings&gt;</span></span></span><br />
<hr size="2" width="100%" />
<p><span style="font-family: 微软雅黑;">新建errors.jsp</span></p>
<p><span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;%@ page import="java.util.*"%&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;<br />
&lt;html:html lang="true"&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="inc/template.htm"/&gt;<br />
<strong>&lt;h1&gt;程序出现了以下错误&lt;/h1&gt;<br />
&lt;html:errors/&gt;<br />
&lt;p&gt;&lt;a href="#" onclick="history.back()"&gt;返回上一页&lt;/a&gt;</strong><br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html:html&gt;</span><br />
</p>
<hr size="2" width="100%" />
<p>&nbsp;</p>
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; &lt;action<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute="userForm"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input="/jsp/errors.jsp"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="userForm"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parameter="status"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path="/user"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="org.lxh.zngt.struts.action.UserAction"&gt;<br />
<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="registersuccess" path="/jsp/index.jsp"&gt;&lt;/forward&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forward name="registerfailure" path="/jsp/register.jsp"&gt;&lt;/forward&gt;</strong><br />
&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br />
<br />
&nbsp;&nbsp;&nbsp; &lt;/action-mappings&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;html:form action="" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; 用户 Ｉ Ｄ：&nbsp;&nbsp;&nbsp; &lt;html:text property="userid"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 用户密码： &lt;html:password property="userpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 确认密码： &lt;html:password property="confirmpwd"&gt;&lt;/html:password&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 丢失密码提示问题： &lt;html:text property="userques"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; 丢失密码问题答案： &lt;html:text property="userans"&gt;&lt;/html:text&gt;&lt;br&gt;<br />
<strong>&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="status" value="register"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="type" value="1"&gt;</strong><br />
&nbsp;&nbsp;&nbsp; &lt;html:submit value="注册"&gt;&lt;/html:submit&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:reset value="重置"&gt;&lt;/html:reset&gt;<br />
&lt;/html:form&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">修改UserForm.java<br />
先写ApplicationResources.properties<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;"># Resources for parameter 'org.lxh.myzngt.struts.ApplicationResources'<br />
# Project MyZhiNangTuanDemo<br />
user.userid.null = &lt;li&gt; \u7528\u6237ID\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
user.userpwd.null = &lt;li&gt; \u7528\u6237\u767b\u5f55\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
user.userques.null = &lt;li&gt; \u627e\u56de\u5bc6\u7801\u63d0\u793a\u95ee\u9898\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
user.userans.null = &lt;li&gt; \u627e\u56de\u5bc6\u7801\u95ee\u9898\u7b54\u6848\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
user.confirmpwd.error = &lt;li&gt; \u4e24\u6b21\u8f93\u5165\u7684\u5bc6\u7801\u4e0d\u4e00\u81f4\uff01<br />
user.userid.exist = &lt;li&gt; \u7528\u6237\uff29\uff24\u5df2\u7ecf\u5b58\u5728\uff01<br />
user.integral.null = &lt;li&gt; \u5fc5\u987b\u586b\u5199\u7528\u6237\u7684\u79ef\u5206\uff01<br />
user.integral.error = &lt;li&gt; \u79ef\u5206\u5fc5\u987b\u586b\u5199\u6570\u5b57\uff01<br />
<br />
checkcode.null = &lt;li&gt; \u9a8c\u8bc1\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
checkcode.error = &lt;li&gt; \u9a8c\u8bc1\u7801\u8f93\u5165\u9519\u8bef\uff01<br />
<br />
question.title.null = &lt;li&gt; \u95ee\u9898\u6807\u9898\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
question.content.null = &lt;li&gt; \u95ee\u9898\u5185\u5bb9\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
question.offerscore.error = &lt;li&gt; \u95ee\u9898\u60ac\u8d4f\u5206\u6570\u5fc5\u987b\u662f\u6570\u5b57\uff01<br />
question.qid.null = &lt;li&gt; \u95ee\u9898\u7f16\u53f7\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
<br />
answer.quesans.null = &lt;li&gt; \u56de\u7b54\u7684\u5185\u5bb9\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
answer.qid.null = &lt;li&gt; \u8bf7\u9009\u62e9\u8981\u56de\u7b54\u7684\u95ee\u9898\uff01<br />
<br />
admin.adminid.null = &lt;li&gt; \u7ba1\u7406\u5458\uff29\uff24\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
admin.adminpwd.null = &lt;li&gt; \u7ba1\u7406\u5458\u5bc6\u7801\u4e0d\u80fd\u7a7a\uff01<br />
admin.confirmpwd.error = &lt;li&gt; \u4e24\u6b21\u8f93\u5165\u7684\u5bc6\u7801\u4e0d\u4e00\u81f4\uff01<br />
admin.adminid.exist = &lt;li&gt; \u6b64\u7ba1\u7406\u5458\uff29\uff24\u5df2\u7ecf\u5b58\u5728\uff01<br />
admin.oldpwd.null = &lt;li&gt; \u65e7\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
<br />
item.itemname.null = &lt;li&gt; \u680f\u76ee\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
item.itemcode.null = &lt;li&gt; \u680f\u76ee\u7f16\u53f7\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
item.itemcode.error = &lt;li&gt; \u680f\u76ee\u7f16\u53f7\u5fc5\u987b\u662f\u6570\u5b57\uff01<br />
<br />
subitem.subname.null = &lt;li&gt; \u5b50\u680f\u76ee\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
subitem.subcode.null = &lt;li&gt; \u5b50\u680f\u76ee\u7f16\u53f7\u4e0d\u80fd\u4e3a\u7a7a\uff01<br />
subitem.subcode.error = &lt;li&gt; \u5b50\u680f\u76ee\u7f16\u53f7\u5fc5\u987b\u662f\u6570\u5b57\uff01<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; 验证码： &lt;html:text property="checkcode"&gt;&lt;/html:text&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;img src="image.jsp"&gt;&lt;br&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">如果验证码不正确，也是一种错误，验证码不正确的判断在action中。<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp; public ActionForward register(ActionMapping mapping, ActionForm form,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; HttpServletRequest request, HttpServletResponse response) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserForm userForm = (UserForm) form;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 先判断验证码是否正确<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String ccode = (String)request.getSession().getAttribute("ccode");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String checkcode = userForm.getCheckcode();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(!checkcode.equals(ccode)) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActionMessages errors = new ActionMessages();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; errors.add("checkcode", new ActionMessage("checkcode.error"));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.saveErrors(request, errors);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return mapping.getInputForward();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 如果正确，则需要向数据库中插入<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp; }<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">写IUserDAO.java,&nbsp; IUserDAOImpl.java<br />
User.java<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">package org.lxh.myzngt.vo;<br />
<br />
public class User {<br />
&nbsp;&nbsp;&nbsp; /** sex property */<br />
&nbsp;&nbsp;&nbsp; private String sex;<br />
<br />
&nbsp;&nbsp;&nbsp; /** usermail property */<br />
&nbsp;&nbsp;&nbsp; private String usermail;<br />
<br />
&nbsp;&nbsp;&nbsp; /** userques property */<br />
&nbsp;&nbsp;&nbsp; private String userques;<br />
<br />
&nbsp;&nbsp;&nbsp; /** userid property */<br />
&nbsp;&nbsp;&nbsp; private String userid;<br />
<br />
&nbsp;&nbsp;&nbsp; /** realname property */<br />
&nbsp;&nbsp;&nbsp; private String realname;<br />
<br />
&nbsp;&nbsp;&nbsp; /** userans property */<br />
&nbsp;&nbsp;&nbsp; private String userans;<br />
<br />
&nbsp;&nbsp;&nbsp; /** userpwd property */<br />
&nbsp;&nbsp;&nbsp; private String userpwd;<br />
<br />
&nbsp;&nbsp;&nbsp; /** grade property */<br />
&nbsp;&nbsp;&nbsp; private int grade;<br />
<br />
&nbsp;&nbsp;&nbsp; /** integral property */<br />
&nbsp;&nbsp;&nbsp; private int integral;<br />
<br />
&nbsp;&nbsp;&nbsp; /** id property */<br />
&nbsp;&nbsp;&nbsp; private int id;<br />
<br />
&nbsp;&nbsp;&nbsp; public int getGrade() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return grade;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setGrade(int grade) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.grade = grade;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getRealname() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return realname;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setRealname(String realname) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.realname = realname;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getSex() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return sex;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setSex(String sex) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.sex = sex;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getUserans() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return userans;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setUserans(String userans) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.userans = userans;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getUserid() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return userid;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setUserid(String userid) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.userid = userid;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getUsermail() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return usermail;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setUsermail(String usermail) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.usermail = usermail;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getUserpwd() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return userpwd;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setUserpwd(String userpwd) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.userpwd = userpwd;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public String getUserques() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return userques;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setUserques(String userques) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.userques = userques;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public int getId() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return id;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setId(int id) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.id = id;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public int getIntegral() {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return integral;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; public void setIntegral(int integral) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.integral = integral;<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">package org.lxh.myzngt.dao;<br />
<br />
import org.lxh.myzngt.vo.User;<br />
<br />
public interface IUserDAO {<br />
&nbsp;&nbsp;&nbsp; // 用户注册<br />
&nbsp;&nbsp;&nbsp; public void register(User user) throws Exception;<br />
}<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">package org.lxh.myzngt.dao.impl;<br />
<br />
import org.lxh.myzngt.dao.IUserDAO;<br />
import org.lxh.myzngt.vo.User;<br />
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;<br />
<br />
public class IUserDAOImpl extends HibernateDaoSupport implements IUserDAO {<br />
<br />
&nbsp;&nbsp;&nbsp; public void register(User user) throws Exception {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super.getSession().save(user);<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">生成User.hbm.xml<br />
</span><hr size="2" width="100%" />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/kingaragorn/hibernate.PNG" height="480" width="586" /><span style="font-family: 微软雅黑;"><br />
</span><span style="font-family: 微软雅黑;"><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/kingaragorn/native.PNG" height="153" width="584" /><br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/kingaragorn/toonative.PNG" height="500" width="583" /><br />
<br />
注意把catalog="mldn"去掉<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;<br />
&lt;!-- <br />
&nbsp;&nbsp;&nbsp; Mapping file autogenerated by MyEclipse Persistence Tools<br />
--&gt;<br />
&lt;hibernate-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;class name="org.lxh.myzngt.vo.User" table="user"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id name="id" type="java.lang.Integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="id" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="native"&gt;&lt;/generator&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="userid" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="userid" length="50" not-null="true" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="userpwd" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="userpwd" length="50" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="userques" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="userques" length="50" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="userans" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="userans" length="50" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="usermail" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="usermail" length="50" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="integral" type="java.lang.Integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="integral" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="grade" type="java.lang.Integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="grade" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="sex" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="sex" length="2" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="realname" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="realname" length="50" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />
&lt;/hibernate-mapping&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp; Abstract如果设置为true，表示该bean的定义是abstract的，spring将不会实例化该bean&nbsp;  <br />
</span><strong></strong><br />
<hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&nbsp;&lt;bean id="iuserdao" class="org.lxh.myzngt.dao.IUserDAO" <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; abstract="true"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/bean&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;bean id="iuserdaoimpl" class="org.lxh.myzngt.dao.impl.IUserDAOImpl" <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; parent="iuserdao"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;property name="hibernateTemplate"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;ref bean="hibernateTemplate"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/bean&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">把index.jsp移到jsp文件夹中，在外面建一个index.htm<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="李兴华,MLDN,智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META HTTP-EQUIV="refresh" CONTENT="0;URL=jsp/index.jsp"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">&lt;%@ page contentType="text/html;charset=gbk"%&gt;<br />
&lt;%@ page import="java.util.*"%&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;<br />
&lt;html:html lang="true"&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;MLDN —— 我的智囊团&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Author" CONTENT="李兴华"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Keywords" CONTENT="智囊团,SSH,tomcat,mysql"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;META NAME="Description" CONTENT="MLDN旗下网站 —— www.zhinangtuan.net.cn"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;jsp:include flush="true" page="inc/template.jsp"/&gt;<br />
&lt;logic:present name="userid" scope="session"&gt;<br />
&nbsp;&nbsp;&nbsp; 欢迎${userid}光临&amp;nbsp;<br />
&nbsp;&nbsp;&nbsp; 等级：${grade}&amp;nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;a href="personinfo.jsp"&gt;个人中心&lt;/a&gt;<br />
&lt;/logic:present&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html:html&gt;<br />
</span><hr size="2" width="100%" />
<span style="font-family: 微软雅黑;">下面进行验证，启动服务器，本节到此为止<br />
<br />
</span><span style="font-family: 微软雅黑;">
</span>
<img src ="http://www.blogjava.net/kingaragorn/aggbug/214447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingaragorn/" target="_blank">陈高杰</a> 2008-07-12 17:02 <a href="http://www.blogjava.net/kingaragorn/articles/214447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>1----SSH综合实战（Struts+Spring+Hibernate）----我的智囊团（介绍及环境搭建）</title><link>http://www.blogjava.net/kingaragorn/articles/ssh.html</link><dc:creator>陈高杰</dc:creator><author>陈高杰</author><pubDate>Fri, 11 Jul 2008 16:22:00 GMT</pubDate><guid>http://www.blogjava.net/kingaragorn/articles/ssh.html</guid><wfw:comment>http://www.blogjava.net/kingaragorn/comments/214370.html</wfw:comment><comments>http://www.blogjava.net/kingaragorn/articles/ssh.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingaragorn/comments/commentRss/214370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingaragorn/services/trackbacks/214370.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 开发工具：Eclipse + MySQL + Tomcat + ConnectionPool注意：在使用SSH开发中，数据库是不关闭的，因此使用ConnectionPool是最合适的。项目主要功能：&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; ...&nbsp;&nbsp;<a href='http://www.blogjava.net/kingaragorn/articles/ssh.html'>阅读全文</a><img src ="http://www.blogjava.net/kingaragorn/aggbug/214370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingaragorn/" target="_blank">陈高杰</a> 2008-07-12 00:22 <a href="http://www.blogjava.net/kingaragorn/articles/ssh.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>