网上商城SSH各个类间的关系(一)

        接着上一篇的SSH三者的牵线,整理了他们三个之间的关系。网上商城SSH主要是利用SSH这个框架进行开发的网站。网上商城除了基本的SSH框架之外,还有action、service、dao、vo包,他们各负责什么样的职责、是如何交互的、之间数据是如何传输的?下面让我们一起来期待:

        其中,action继承ActionSupport,与页面WEB-INF下jsp交互,jsp中的路径直接到action中找对应的action方法。如何实现接受页面传来的参数呢?实现模型驱动即可,例如:

<pre name="code" class="java">public class UserAction extends ActionSupport implements ModelDriven<User>{  //接受参数,怎么做?实现模型驱动即可
	//模型驱动的对象
	private User user=new  User();
	@Override
	public User getModel() {
		//return null;
		return user ;
	}
       //注入UserService
	private UserService userService;
	
	public void setUserService(UserService userService) {
		this.userService = userService;
	}
}

       
 service是业务层,还用用户来举例说用户模块的业务层代码可以接受到用户,注入UserDao调用UserDao方法: 
 

/**
 * 用户名模块业务层代码(可以接收到用户名),调用UserDao
 * @author zhuoling
 *
 */
public class UserService {
	//注入UserDao
	private UserDao  userDao;

	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}
}
        dao层是数据持久层,继承HibernateDaoSupport实现数据持久化:

public class UserDao extends HibernateDaoSupport{
{

          这三者间我们可以较快的理解,他们是如何与SSH这个框架结合的呢?

       在jsp中除了页面的设计,我们经常看类似这样的一句话:

action="${pageContext.request.contextPath}/user_regist.action"
        ${pageContext.request.contextPath}是获取前面的地址,如http://localhost:8080/shop/,然后user_registpage.actionuser下找registpage()方法,所以registpage与对应action下的registpage()名称必须相同:

网上商城SSH各个类间的关系(一)_第1张图片
    找到这个 registpage()注册方法之后按照上面执行这个方法,注册完成之后返回字符串"registpage"(即return "registpage";),将会在struts中拦截"registpage"字符串,跳转到/WEB-INF/jsp/regist.jsp页面:

网上商城SSH各个类间的关系(一)_第2张图片

      在Spring中是如何配置的呢?请期待。

你可能感兴趣的:(网上商城SSH各个类间的关系(一))