概述
在这里我共享一下SSH构架的一点入门的(基础的)东西。也许对你能有帮助。
开始建立项目以及加入SSH各部分功能就略过了。。。
这里有Spring所需要添加的功能代码,Action的操作代码,form里的验证代码。以及Struts里的代码。
由于时间原因无法重新制作,且做贴图,我将项目上传到资源。。
Spring中的代码:
<bean name="/register"
class="com.yourcompany.struts.action.RegisterAction">
<property name="dao">
<ref bean="SshUserDAOProxy" />
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="SshUserDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="SshUserDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
这里将hibernate和Struts整合到了Spring。
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (username.trim().equals("")) {
errors.add("username", new ActionError(
"errors.username_is_required"));
}
if (password.trim().equals("")) {
errors.add("password", new ActionError(
"errors.password_is_required"));
}
if(!password2.trim().equals(password)){
errors.add("password2", new ActionError("errors.not_format_pasw1"));
}
if (nickname.trim().equals("")) {
errors.add("nickname", new ActionError(
"errors.nickname_is_required"));
}
if (email.indexOf("@") == -1 || email.indexOf(".") == -1 ) {
errors.add("email", new ActionError("errors.email_is_wrong"));
}
if (phone.trim().length() < 11) {
//if (phone.matches("//D")) {
//if (phone.trim().equals("")) {
{
errors.add("phone", new ActionError(
"errors.phone_is_required_or_wrong"));
//}
}
//}
}
return errors;
}
以上是Form中验证的Errors。
这里是Action中注册的代码:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
RegisterForm registerForm = (RegisterForm) form;// TODO Auto-generated
// method stub
SshUser user = new SshUser();
user.setUsername(registerForm.getUsername());
user.setPassword(registerForm.getPassword());
user.setEmail(registerForm.getEmail());
user.setNickname(registerForm.getNickname());
user.setMark(registerForm.getMark());
user.setPhone(registerForm.getPhone());
SshUserDAO dao = getDao();
List users = (List) dao.findByUsername(user.getUsername());
if (users.size() > 0) {
return mapping.findForward("fail");
} else {
dao.save(user);
// tran.commit();
return mapping.findForward("success");
}
}
注意对应好了Dao和Form。
Struts中整合Spring与相应的Action、Form路径等。
<message-resources
parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
<action attribute="registerForm" input="/form/register.jsp"
name="registerForm" path="/register" scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<set-property property="cancellable" value="true"/>
<forward name="fail" path="/login.jsp" />
<forward name="success" path="/success.jsp" />
</action>
<form-beans>
<form-bean name="registerForm"
type="com.yourcompany.struts.form.RegisterForm" />
<form-beans>
还有一个要注意的地方就是hibernate映射文件里要改其id属性,一般改为increment。佛则加入数据时出现错误。
同时我上传了此项目的代码。JDK1.6,Tomcat5.0 ,Spring2.0,Hibernate3.1.Struts1.2.
上传后的项目有所不同加入了Email功能,有兴趣者可以参考。http://download.csdn.net/source/453752
最后
以上就是兴奋小兔子为你收集整理的简单的SSH入门的全部内容,希望文章能够帮你解决简单的SSH入门所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复