zoukankan      html  css  js  c++  java
  • 一、项目的创建以及三大框架的整合

    在前台的布置中已经进行了数据库的创建,在后台中我使用的数据库是同一个,数据库中同样是四张表

    创建项目

    命名为:QSSY_Back

    项目使用到的jar包,并进行导入项目中

     导入jar包后记得全选单击右键Build  Path

    在src中建这样的几个包:

     

     

    完善后台页面:用户列表与帖子列表

    初始时页面显示的数据都是静态的

    效果图:

     index.html:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>泉师释疑后台登录</title>
        <meta name="renderer" content="webkit|ie-comp|ie-stand">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
        <meta http-equiv="Cache-Control" content="no-siteapp" />
    
        <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
        <link rel="stylesheet" href="./css/font.css">
        <link rel="stylesheet" href="./css/xadmin.css">
        <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
        <script src="./lib/layui/layui.js" charset="utf-8"></script>
        <script type="text/javascript" src="./js/xadmin.js"></script>
    
    </head>
    <body>
        <!-- 顶部开始 -->
        <div class="container">
            <div class="logo"><a href="./index.html">泉师释疑后台</a></div>
            <div class="left_open">
                <i title="展开左侧栏" class="iconfont">&#xe699;</i>
            </div>
            <ul class="layui-nav left fast-add" lay-filter="">
              <li class="layui-nav-item">
                <a href="javascript:;">+新增</a>
                <dl class="layui-nav-child"> <!-- 二级菜单 -->
                  <dd><a onclick="x_admin_show('资讯','http://www.baidu.com')"><i class="iconfont">&#xe6a2;</i>资讯</a></dd>
                  <dd><a onclick="x_admin_show('图片','http://www.baidu.com')"><i class="iconfont">&#xe6a8;</i>图片</a></dd>
                   <dd><a onclick="x_admin_show('用户','http://www.baidu.com')"><i class="iconfont">&#xe6b8;</i>用户</a></dd>
                </dl>
              </li>
            </ul>
            <ul class="layui-nav right" lay-filter="">
              <li class="layui-nav-item">
                <a href="javascript:;">admin</a>
                <dl class="layui-nav-child"> <!-- 二级菜单 -->
                  <dd><a onclick="x_admin_show('个人信息','http://www.baidu.com')">个人信息</a></dd>
                  <dd><a onclick="x_admin_show('切换帐号','http://www.baidu.com')">切换帐号</a></dd>
                  <dd><a href="./login.html">退出</a></dd>
                </dl>
              </li>
              <li class="layui-nav-item to-index"><a href="/">前台首页</a></li>
            </ul>
            
        </div>
        <!-- 顶部结束 -->
        <!-- 中部开始 -->
         <!-- 左侧菜单开始 -->
        <div class="left-nav">
          <div id="side-nav">
            <ul id="nav">
                <li>
                    <a href="javascript:;">
                        <i class="iconfont">&#xe6b8;</i>
                        <cite>用户管理</cite>
                        <i class="iconfont nav_right">&#xe697;</i>
                    </a>
                    <ul class="sub-menu">
                        <li>
                            <a _href="member-list.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>用户列表</cite>
                                
                            </a>
                        </li >
                        <li>
                            <a _href="member-del.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>用户删除</cite>
                                
                            </a>
                        </li>
                       
                    </ul>
                </li>
                
                
                
                  <li>
                    <a href="javascript:;">
                        <i class="iconfont">&#xe6b5;</i>
                        <cite>帖子管理</cite>
                        <i class="iconfont nav_right">&#xe697;</i>
                    </a>
                    <ul class="sub-menu">
                       
                       
                        <li>
                            <a href="javascript:;">
                                <i class="iconfont">&#xe70b;</i>
                                <cite>帖子列表</cite>
                                <i class="iconfont nav_right">&#xe697;</i>
                            </a>
                            <ul class="sub-menu">
                                <li>
                                    <a _href="xxx.html">
                                        <i class="iconfont">&#xe6a7;</i>
                                        <cite>已完结</cite>
                                        
                                    </a>
                                </li >
                                <li>
                                    <a _href="xx.html">
                                        <i class="iconfont">&#xe6a7;</i>
                                        <cite>未完结</cite>
                                        
                                    </a>
                                </li>
                               
                                
                            </ul>
                        </li>
                        
                         <li>
                            <a _href="member-list.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>帖子删除</cite>
                                
                            </a>
                        </li >
                    </ul>
                </li>
                
               
              
             
                <li>
                    <a href="javascript:;">
                        <i class="iconfont">&#xe6ce;</i>
                        <cite>系统统计</cite>
                        <i class="iconfont nav_right">&#xe697;</i>
                    </a>
                    <ul class="sub-menu">
                        <li>
                            <a _href="echarts1.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>拆线图</cite>
                            </a>
                        </li >
                        <li>
                            <a _href="echarts2.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>柱状图</cite>
                            </a>
                        </li>
                        <li>
                            <a _href="echarts3.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>地图</cite>
                            </a>
                        </li>
                        <li>
                            <a _href="echarts4.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>饼图</cite>
                            </a>
                        </li>
                        <li>
                            <a _href="echarts5.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>雷达图</cite>
                            </a>
                        </li>
                        <li>
                            <a _href="echarts6.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>k线图</cite>
                            </a>
                        </li>
                        <li>
                            <a _href="echarts7.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>热力图</cite>
                            </a>
                        </li>
                        <li>
                            <a _href="echarts8.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>仪表图</cite>
                            </a>
                        </li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:;">
                        <i class="iconfont">&#xe6b4;</i>
                        <cite>图标字体</cite>
                        <i class="iconfont nav_right">&#xe697;</i>
                    </a>
                    <ul class="sub-menu">
                        <li>
                            <a _href="unicode.html">
                                <i class="iconfont">&#xe6a7;</i>
                                <cite>图标对应字体</cite>
                            </a>
                        </li>
                    </ul>
                </li>
            </ul>
          </div>
        </div>
        <!-- <div class="x-slide_left"></div> -->
        <!-- 左侧菜单结束 -->
        <!-- 右侧主体开始 -->
        <div class="page-content">
            <div class="layui-tab tab" lay-filter="xbs_tab" lay-allowclose="false">
              <ul class="layui-tab-title">
                <li class="home"><i class="layui-icon">&#xe68e;</i>我的桌面</li>
              </ul>
              <div class="layui-tab-content">
                <div class="layui-tab-item layui-show">
                    <iframe src='./welcome.html' frameborder="0" scrolling="yes" class="x-iframe"></iframe>
                </div>
              </div>
            </div>
        </div>
        <div class="page-content-bg"></div>
        <!-- 右侧主体结束 -->
        <!-- 中部结束 -->
        <!-- 底部开始 -->
        <div class="footer">
            <div class="copyright">Copyright ©2019 QZSSY All Rights Reserved</div>  
        </div>
        <!-- 底部结束 -->
        <script>
        //百度统计可去掉
        var _hmt = _hmt || [];
        (function() {
          var hm = document.createElement("script");
          hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
          var s = document.getElementsByTagName("script")[0]; 
          s.parentNode.insertBefore(hm, s);
        })();
        </script>
    </body>
    </html>
    index

     

    整合Struts

    在src中创建struts.xml,并将其约束的头导入

     导入的约束的头:

    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

    在struts.xml进行:

    1、动态方法的调用 

    2、 让spring来创建Action

    3、允许所有方法 

    整合的struts:

    <?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>
    
       <!-- 动态方法的调用 -->
          <constant name="struts.devMode" value="true"></constant>
            <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
    
    
            <!-- 让spring来创建Action -->
            <constant name="struts.objectFactory" value="spring"></constant>
            
            <package name="QSSY_Back" namespace="/" extends="struts-default">
    
    
               <!-- 允许所有方法 -->
                <global-allowed-methods>regex:.*</global-allowed-methods>
    
    
              </package>
    
    
    
    
        </struts>

    在web.xml中让struts启动

    <!-- 让struts启动 -->
      <filter>
          <filter-name>struts</filter-name>
          <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      <filter-mapping>
          <filter-name>struts</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>

    整合Hiernate

    在src中新建applicationContext.xml

     

     导入约束;

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd">
    
    </beans>

     在applicationContext.xml进行

    1、dataSource的配置

    2、配置sessionFactory

    <bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="jdbcUrl" value="jdbc:mysql:///ssh_forum"></property>
            <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
            <property name="user" value="root"></property>
            <property name="password" value="root"></property>
        </bean>
        
        <!-- 配置sessionFactory -->
        <bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
            <property name="dataSource" ref="dataSource"></property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
                    <prop key="hibernate.hbm2ddl.auto">update</prop><!-- 自动创建表 -->
                    <prop key="hibernate.show_sql">true</prop><!-- 打印出sql语句 -->
                    <prop key="hibernate.format_sql">true</prop><!-- 格式化sql语句 -->
                </props>
            </property>
            <property name="mappingDirectoryLocations" value="classpath:com/guiyan/domain"></property>
        </bean>
        

     整合事务

    在applicationContext.xml加入:

    <!-- 配置事务 -->
        <bean name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
            <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
    
        <!-- 通知 -->
        <tx:advice id="advice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="*" />
            </tx:attributes>
        </tx:advice>
    
        <!-- 织入 -->
        <aop:config>
            <aop:pointcut expression="execution(* com.guiyan.service.*.*(..))" id="pc"/>
            <aop:advisor advice-ref="advice" pointcut-ref="pc"/>
        </aop:config>
        
        
        

    整合Spring

    在web.xml加入:

    
    

    <!-- 让spring启动 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!-- 扩大到页面的加载 -->
    <filter>
    <filter-name>openSession</filter-name>
    <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
    </filter>

    <filter-mapping>
    <filter-name>openSession</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    
    

    这样三大框架的整合就完成了

    最终总的代码:

    struts.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
     4     "http://struts.apache.org/dtds/struts-2.5.dtd">
     5 
     6 
     7   <struts>
     8 
     9    <!-- 动态方法的调用 -->
    10       <constant name="struts.devMode" value="true"></constant>
    11         <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
    12 
    13 
    14         <!-- 让spring来创建Action -->
    15         <constant name="struts.objectFactory" value="spring"></constant>
    16         
    17         <package name="QSSY_Back" namespace="/" extends="struts-default">
    18 
    19 
    20            <!-- 允许所有方法 -->
    21             <global-allowed-methods>regex:.*</global-allowed-methods>
    22 
    23 
    24           </package>
    25 
    26 
    27 
    28 
    29     </struts>
    struts.xml

    applicationContext.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 
     3 <beans xmlns="http://www.springframework.org/schema/beans"
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xmlns:aop="http://www.springframework.org/schema/aop"
     7     xmlns:tx="http://www.springframework.org/schema/tx"
     8     xsi:schemaLocation="http://www.springframework.org/schema/beans
     9     http://www.springframework.org/schema/beans/spring-beans.xsd
    10     http://www.springframework.org/schema/context
    11     http://www.springframework.org/schema/context/spring-context.xsd
    12     http://www.springframework.org/schema/aop
    13     http://www.springframework.org/schema/aop/spring-aop.xsd
    14     http://www.springframework.org/schema/tx
    15     http://www.springframework.org/schema/tx/spring-tx.xsd">
    16     
    17     
    18     
    19     
    20     <bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    21         <property name="jdbcUrl" value="jdbc:mysql:///ssh_forum"></property>
    22         <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
    23         <property name="user" value="root"></property>
    24         <property name="password" value="root"></property>
    25     </bean>
    26     
    27     <!-- 配置sessionFactory -->
    28     <bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    29         <property name="dataSource" ref="dataSource"></property>
    30         <property name="hibernateProperties">
    31             <props>
    32                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
    33                 <prop key="hibernate.hbm2ddl.auto">update</prop><!-- 自动创建表 -->
    34                 <prop key="hibernate.show_sql">true</prop><!-- 打印出sql语句 -->
    35                 <prop key="hibernate.format_sql">true</prop><!-- 格式化sql语句 -->
    36             </props>
    37         </property>
    38         <property name="mappingDirectoryLocations" value="classpath:com/guiyan/domain"></property>
    39     </bean>
    40     
    41     
    42     
    43     <!-- 配置事务 -->
    44     <bean name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    45         <property name="sessionFactory" ref="sessionFactory"></property>
    46     </bean>
    47 
    48     <!-- 通知 -->
    49     <tx:advice id="advice" transaction-manager="transactionManager">
    50         <tx:attributes>
    51             <tx:method name="*" />
    52         </tx:attributes>
    53     </tx:advice>
    54 
    55     <!-- 织入 -->
    56     <aop:config>
    57         <aop:pointcut expression="execution(* com.guiyan.service.*.*(..))" id="pc"/>
    58         <aop:advisor advice-ref="advice" pointcut-ref="pc"/>
    59     </aop:config>
    60     
    61     
    62     
    63     
    64 
    65 </beans>
    applicationContext.xml

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
     3   <display-name>QSSY_Back</display-name>
     4   <welcome-file-list>
     5     <welcome-file>index.html</welcome-file>
     6     <welcome-file>index.htm</welcome-file>
     7     <welcome-file>index.jsp</welcome-file>
     8     <welcome-file>default.html</welcome-file>
     9     <welcome-file>default.htm</welcome-file>
    10     <welcome-file>default.jsp</welcome-file>
    11   </welcome-file-list>
    12   
    13   
    14   <!-- 让spring启动 -->
    15   <listener>
    16       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    17   </listener>
    18   
    19   <context-param>
    20       <param-name>contextConfigLocation</param-name>
    21       <param-value>classpath:applicationContext.xml</param-value>
    22   </context-param>
    23   
    24   <!-- 扩大到页面的加载 -->
    25   <filter>
    26       <filter-name>openSession</filter-name>
    27       <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
    28   </filter>
    29   
    30   <filter-mapping>
    31       <filter-name>openSession</filter-name>
    32       <url-pattern>/*</url-pattern>
    33   </filter-mapping>
    34   
    35   
    36   <!-- 让struts启动 -->
    37   <filter>
    38       <filter-name>struts</filter-name>
    39       <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    40   </filter>
    41   <filter-mapping>
    42       <filter-name>struts</filter-name>
    43       <url-pattern>/*</url-pattern>
    44       </filter-mapping>
    45       
    46       
    47 </web-app>
    web.xml
  • 相关阅读:
    svn进行Update操作失败 提示lock
    strust2自定义拦截器
    nginx相关特性及使用
    在linux服务器上部署springboot项目,并用nginx映射域名
    centos7 安装redis-6.0.6
    centos 7安装mysql 8教程
    centos7 设置系统时间
    centos7 fastdfs安装
    过滤器相关
    FastDFS相关
  • 原文地址:https://www.cnblogs.com/jiguiyan/p/10841718.html
Copyright © 2011-2022 走看看