接着上一篇的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; } }
/** * 用户名模块业务层代码(可以接收到用户名),调用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.action到user下找registpage()方法,所以registpage与对应action下的registpage()名称必须相同: