美文网首页
2018-09-30:MVC及数据显示于JSP

2018-09-30:MVC及数据显示于JSP

作者: 神坛下的我 | 来源:发表于2018-09-30 11:05 被阅读0次

    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>
    

    相关文章

      网友评论

          本文标题:2018-09-30:MVC及数据显示于JSP

          本文链接:https://www.haomeiwen.com/subject/cotwoftx.html