MVC
- 低耦合:组件与组件之间联系不紧密,但有固定的关系,替换部分组件代价小
,比较容易。(前提原因是我们需要很多的组件将任务分工)
XX.jsp 视图层 用户(提要求)
--> XXAction 控制器层 门卫(判断要求有没有权利提,有
权利通知)
判断是否登录,判断是否取得数据,根据结果不同让用户到不同的页面去
--> XXService --> XXServiceImp 业务逻辑层 秘书(将信息处理后提交给领导)
if else for运算,将运算结果提交给领导决定如何操作数据库
XXDao --> XXDaoImp 数据访问层 领导(决定是否存取数据库)
hibernate
--> DB
private Session session = HibernateSessionFactory.getSession();
public List<Serviceman> getServicemanInfo(){
Query query = session.createQuery("From Serviceman");
List<Serviceman> servicemans = query.list();
HibernateSessionFactory.closeSession();
return servicemans;
}
项目设计模块(完成:将数据库数据显示在jsp页面)
ServicemanDao.java
package repairsystem.dao.imp;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import repairsystem.dao.ServicemanDaoI;
import repairsystem.entity.Serviceman;
import repairsystem.factory.HibernateSessionFactory;
public class ServicemanDao implements ServicemanDaoI{
private Session session = HibernateSessionFactory.getSession();
public List<Serviceman> getServicemanInfo() {
Query query = session.createQuery("From Serviceman");
List<Serviceman> servicemans = query.list();
HibernateSessionFactory.closeSession();
return servicemans;
}
}
ServicemanDaoI.java
package repairsystem.dao;
import java.util.List;
import repairsystem.entity.Serviceman;
public interface ServicemanDaoI {
public List<Serviceman> getServicemanInfo();
}
ServicemanService.java
package repairsystem.service.serviceImp;
import java.util.List;
import repairsystem.dao.ServicemanDaoI;
import repairsystem.dao.imp.ServicemanDao;
import repairsystem.entity.Serviceman;
import repairsystem.service.ServicemanServiceI;
public class ServicemanService implements ServicemanServiceI{
private ServicemanDaoI servicemanDaoI;
public ServicemanService() {
super();
this.servicemanDaoI = new ServicemanDao();
}
public ServicemanDaoI getServicemanDaoI() {
return servicemanDaoI;
}
public void setServicemanDaoI(ServicemanDaoI servicemanDaoI) {
this.servicemanDaoI = servicemanDaoI;
}
public List<Serviceman> getServicemanInfo(){
return servicemanDaoI.getServicemanInfo();
}
}
ServicemanServiceI.java
package repairsystem.service;
import java.util.List;
import repairsystem.entity.Serviceman;
public interface ServicemanServiceI {
public List<Serviceman> getServicemanInfo();
}
ServicemanAction.java
package repairsystem.action;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import repairsystem.entity.Serviceman;
import repairsystem.service.ServicemanServiceI;
import repairsystem.service.serviceImp.ServicemanService;
public class ServicemanAction extends ActionSupport{
private Serviceman serviceman;
private ServicemanServiceI servicemanServiceI;
public ServicemanAction() {
super();
servicemanServiceI = new ServicemanService();
}
public Serviceman getServiceman() {
return serviceman;
}
public void setServiceman(Serviceman serviceman) {
this.serviceman = serviceman;
}
public ServicemanServiceI getServicemanServiceI() {
return servicemanServiceI;
}
public void setServicemanServiceI(ServicemanServiceI servicemanServiceI) {
this.servicemanServiceI = servicemanServiceI;
}
public String getServicemanInfo() throws Exception{
//action依次调用service dao后得到结果,再原路返回结果到了action,再将结果转发给页面
List<Serviceman> servicemans = servicemanServiceI.getServicemanInfo();
ServletActionContext.getRequest().setAttribute("servicemans", servicemans);
return null;
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="struts2" extends="struts-default" namespace="/">
<action name="*_*" class="repairsystem.action.{1}" method="{2}">
<allowed-methods>getManagerInfo,getCustomerInfo,getHaveskillInfo,getServicemanInfo,
getServiceprojectInfo,getServiceTypeInfo,getIntentionrecordInfo
</allowed-methods>
</action>
</package>
</struts>
serviceman.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>test</title>
</head>
<body>
<s:action name="ServicemanAction_getServicemanInfo" executeResult="false" namespace="/"/>
<table border="1">
<tr>
<td>维修者id</td>
<td>姓名</td>
<td>电话</td>
<td>密码</td>
<td>住址</td>
<td>状态</td>
</tr>
<s:iterator var="serviceman" value="#request.servicemans">
<tr>
<td><s:property value="#serviceman.sid" /></td>
<td><s:property value="#serviceman.snam" /></td>
<td><s:property value="#serviceman.sphone" /></td>
<td><s:property value="#serviceman.spassword" /></td>
<td><s:property value="#serviceman.saddress" /></td>
<td><s:property value="#serviceman.sstatus" /></td>
</tr>
</s:iterator>
</table>
</body>
</html>
网友评论