ITPub博客

首页 > 应用开发 > IT综合 > struts+spring基础整合

struts+spring基础整合

原创 IT综合 作者:kaituozhe366 时间:2007-07-05 11:48:27 0 删除 编辑

spring+struts登陆测试 新手入门 前提要会用struts

模型层的javaBean

User.java

package com.ss.bean;

public class User {
private String username;
private String password;
public User(){

}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}


<<<模型层>>>

UserReg.java

import com.ss.bean.User;
public interface UserReg {
public abstract String ValiUser(User user);
}

UserReg的实现类UserRegImp.java

package com.ss.util;
import com.ss.util.UserReg;
import com.ss.bean.User;
public class UserRegImp implements UserReg {
private String msg = null;
public String ValiUser(User user){
String name = user.getUsername();
System.out.println(name);
String pwd = user.getPassword();
System.out.println(pwd);
if(name.equals("xiaoxin")&&pwd.equals("1985")){
msg = "succ";
}
else{
msg = "fail";
}
return msg;
}
}


<<<视图层>>>

登陆界面register.jsp

<%@ page language="java" pageEncoding="GB2312"%>



<%
String error = (String)request.getAttribute("error");
%>

用户登陆页面



<%
if(error!=null){
%>
用户名或密码错误!
<%
}
%>

username:


password:






测试界面test.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>




<%
User user = (User)request.getAttribute("user");
%>

欢迎您,<%=user.getUsername()%>董事长!



<<<控制层>>>

建议先配制struts-config.xml

http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">








attribute="registerForm"
input="register.jsp"
name="registerForm"
path="/register"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" /><!--重点-->
<!-- 上面的type原本是com.yourcompany.struts.action.RegisterAction 现在改由spring来接手实现控制-->

<!--重点-->
<!--别忘了注册插件-->




这个时候再先配置spring的xml 我在这里给它取名为config.xml


http://www.springframework.org/dtd/spring-beans.dtd">


<!-- 这里是找到模型层的执行具体验证功能的类 -->


<!-- 定义关系 把上面的UserRegImp类作为一个属性注入到RegisterAction类中 然后可以在RegisterAction类中直接当作属性用它 -->

<!--重点-->
<!--注意这里的bean对应上面的的id属性-->


接下来看RegisterAction.java


package com.yourcompany.struts.action;

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 com.yourcompany.struts.form.RegisterForm;
import com.ss.bean.*;
import com.ss.util.*;

public class RegisterAction extends Action {
//依赖注入 在config.xml中我们定义过这里 只不过定义的是这个接口的实现类
private UserReg userReg;
public UserReg getUserReg() {
return userReg;
}
public void setUserReg(UserReg userReg) {
this.userReg = userReg;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
RegisterForm regForm = (RegisterForm) form;// TODO Auto-generated method stub
User user = new User();
user.setUsername(regForm.getUsername());
user.setPassword(regForm.getPassword());
System.out.println(regForm.getUsername());
//这个地方因为已经注入 所以用this调用
String msg = this.getUserReg().ValiUser(user);
//验证成功 进入测试页面
if(msg.equals("succ")){
request.setAttribute("user",user);
System.out.println("test ok");
return mapping.findForward("goTest");
}
//验证失败 回到登陆页面
else{
request.setAttribute("error","error");
System.out.println("failed");
return mapping.findForward("goReg");
}
}
}

以上工作做完后 运行一下 进入register.jsp然后登陆 进行测试

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10369817/viewspace-924082/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    3
  • 访问量
    2411