RBAC从零开始--文件配置

来源:互联网 发布:Linux80端口被占用 编辑:程序博客网 时间:2024/06/18 06:05

jdbc-config.properties

driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=falseusername=rootpassword=123

log4j.properties

log4j.rootLogger=info,stdout,I,Elog4j.appender.I=org.apache.log4j.FileAppenderlog4j.appender.I.DatePattern='.'yyyy-MM-ddlog4j.appender.I.File=${webapp.root}/WEB-INF/logs/info.loglog4j.appender.I.layout=org.apache.log4j.PatternLayoutlog4j.appender.I.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} - %p [%c] %m%nlog4j.appender.I.Append=truelog4j.appender.I.Threshold=INFOlog4j.appender.E=org.apache.log4j.FileAppenderlog4j.appender.E.DatePattern='.'yyyy-MM-ddlog4j.appender.E.File=${webapp.root}/WEB-INF/logs/error.loglog4j.appender.E.layout=org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} - %p [%c] %m%nlog4j.appender.E.Append=truelog4j.appender.E.Threshold=ERRORlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.Threshold=INFOlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %p [%c] %m%n

mybatis-config.xml(为了打印出sql语句,用来排查sql语句的问题,可以不要)

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <settings>        <!-- 打印查询语句 -->        <setting name="logImpl" value="STDOUT_LOGGING" />    </settings></configuration>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:aop="http://www.springframework.org/schema/aop"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:mvc="http://www.springframework.org/schema/mvc"       xsi:schemaLocation="            http://www.springframework.org/schema/context            http://www.springframework.org/schema/context/spring-context.xsd            http://www.springframework.org/schema/beans            http://www.springframework.org/schema/beans/spring-beans.xsd            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd            http://www.springframework.org/schema/mvc            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">    <!-- 启动对@AspectJ注解的支持 -->    <aop:aspectj-autoproxy/>    <context:component-scan base-package="com.xll"/>    <!-- 开启注解 -->    <mvc:annotation-driven />    <!-- 视图解析,控制器执行页面跳转,我的页面除了index.jsp,其他的页面都在WEB-INF下,所以需要通过访问控制器来执行页面跳转,而不能直接进行访问,会自动帮你加上前缀/WEB-INF/jsp/,和后缀.jsp -->    <bean id="viewResolver"          class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/jsp/"></property>        <property name="suffix" value=".jsp"></property>    </bean>    <!-- 完成请求和注解POJO的映射 -->    <bean            class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />    <!-- 声明DispatcherServlet不要拦截下面声明的目录,因为我们上面配置时是拦截所有路径 -->    <!-- 但是我们不希望静态资源(js/image/css)访问被拦截,因此要作如下配置,才能防止被DispatcherServlet拦截 -->    <!--我的所有静态资源都在webapp/resources/下面-->    <mvc:resources location="/resources/" mapping="/resources/**" />    <!--配置拦截器, 多个拦截器,顺序执行 -->    <mvc:interceptors>        <mvc:interceptor>            <mvc:mapping path="/**" />            <bean class="com.xll.interceptor.LoginInterceptor"/>        </mvc:interceptor>        <!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 -->    </mvc:interceptors>    <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">        <property name="corePoolSize" value="5" />        <property name="maxPoolSize" value="10" />        <property name="WaitForTasksToCompleteOnShutdown" value="true" />    </bean></beans>

spring-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       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/tx http://www.springframework.org/schema/tx/spring-tx.xsd">    <tx:annotation-driven transaction-manager="transactionManager" />    <!-- spring的属性加载器,加载properties文件中的属性 -->    <bean id="propertyConfigurer"          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="locations">            <list>                <value>classpath:jdbc-config.properties</value>            </list>        </property>        <property name="fileEncoding" value="utf-8" />    </bean>    <!-- 配置数据源 -->    <bean id="dataSource"          class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName" value="${driverClassName}"></property>        <property name="url" value="${url}"></property>        <property name="username" value="${username}"></property>        <property name="password" value="${password}"></property>    </bean>    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <!--  打印SQL语句 -->        <property name="configLocation" value="classpath:/mybatis-config.xml"></property>        <!-- 自动扫描mapping.xml文件 -->        <property name="mapperLocations" value="classpath:/mapping/*.xml"></property>    </bean>    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.xll.mapper" />        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>    </bean>    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->    <bean id="transactionManager"          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource" />    </bean></beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns="http://java.sun.com/xml/ns/javaee"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"         version="3.0">  <display-name>Web Application</display-name>  <!-- 编码过滤器 -->  <filter>    <filter-name>encodingFilter</filter-name>    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    <async-supported>true</async-supported>    <init-param>      <param-name>encoding</param-name>      <param-value>UTF-8</param-value>    </init-param>  </filter>  <filter-mapping>    <filter-name>encodingFilter</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>  <!-- Spring监听器 -->  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <!-- 防止Spring内存溢出监听器 -->  <listener>    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  </listener>  <!-- Spring MVC servlet -->  <servlet>    <servlet-name>spring</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>      <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml          <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value>          </init-param> -->      <param-name>contextConfigLocation</param-name>      <!--必须加*号,不然maven配置下找不到resources下的配置文件-->      <param-value>classpath*:spring-mvc.xml</param-value>    </init-param>    <!--当tomcat启动时初始化该Servlet-->    <load-on-startup>1</load-on-startup>    <async-supported>true</async-supported>  </servlet>  <servlet-mapping>    <servlet-name>spring</servlet-name>    <!-- 此处可以可以配置成*.do,对应struts的后缀习惯,这里是对所有路径进行拦截 -->    <url-pattern>/</url-pattern>  </servlet-mapping>  <welcome-file-list>    <welcome-file>/index.jsp</welcome-file>  </welcome-file-list>  <!-- 加载所有的配置文件 -->  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath*:spring-*.xml</param-value>  </context-param>  <!--日志文件,放置webapp下配置-->  <context-param>    <param-name>webAppRootKey</param-name>    <param-value>webapp.root</param-value>  </context-param>  <context-param>    <param-name>log4jConfigLocation</param-name>    <param-value>classpath:log4j.properties</param-value>  </context-param>  <context-param>    <param-name>log4jRefreshInterval</param-name>    <param-value>60000</param-value>  </context-param>  <listener>    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  </listener></web-app>

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html>    <head>        <title>RBAC</title>    </head>    <body>       <h3>Hello,World!</h3>    </body></html>

在mapping文件夹下,先随便添加一个xml文件(UserMapper.xml),之后会删掉的,先用来启动项目,如果不加spring-mybatis.xml文件会报错

<?xml version="1.0" encoding="UTF-8" ?><mapper></mapper>

利用tomcat启动项目

点击Edit Configuration,点击+
这里写图片描述
点击local
这里写图片描述
点击 Configure…
这里写图片描述
选择安装的tomcat,点击OK!回到原来的面板,点击fix(在下面),点击+,选择Artifact,选择web-RBAC:war exploded
这里写图片描述
点击OK!
这里写图片描述
点击Apply+OK!
这里写图片描述
点击旁边的小甲壳虫(绿色的),等待项目启动!


下篇将介绍如何使用,Mybatis工具生成表对应的model、dao、xxxMapper.xml、xxxExample文件