java相关配置

java相关配置整理

1、web.xml中的servlet分发器配置

<!--配置servlet分发器-->
  <servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:sping.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

2、spring.xml(applicationContext.xml)中的相关配置

spring的配置

<!--配置扫描的包-->
<context:component-scan base-package="com.qf"/>
<!--让Controller注解生效-->
<mvc:annotation-driven/>
<!--配置静态资源-->
<mvc:default-servlet-handler/>

 <!--配置将返回的数据自动转换成json格式-->
 <mvc:annotation-driven>
     <mvc:message-converters>
         <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
             <property name="objectMapper" ref="objectMapper"/>
         </bean>
     </mvc:message-converters>
 </mvc:annotation-driven>
 <bean id="objectMapper" class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"/>
 <!--配置将返回的数据自动转换成json格式-->

 <!--视图解析器  使用这个配置还需要一个jstl包-->
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
     <!--前缀 斜杠/ 表示带/的前缀都可以省略掉-->
     <property name="prefix" value="/"/>
     <!--页面的后缀  表示带.jsp的都可以省略-->
     <property name="suffix" value=".jsp"/>
 </bean>

3、mybatis的相关配置

    <bean id="database" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/1909"/>
        <property name="user" value="root"/>
        <property name="password" value="123"/>
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="database"/>
        <!--配置mapper.xml文件所在路径-->
        <property name="mapperLocations" value="classpath:mapper/*.mapper.xml"/>
    </bean>

    <!--配置扫描mapper-->
    <bean id="mapperScan" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--要扫描的包-->
        <property name="basePackage" value="com.qf.shiro.mapper"/>
    </bean>

4、redis的相关配置

<!--配置Redis  此处可不配置(使用默认)-->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="10000"/>
    </bean>

    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="poolConfig" ref="jedisPoolConfig"/>
        <property name="hostName" value="192.168.46.128"/>
        <property name="port" value="6379"/>
        <property name="password" value="123"/>
    </bean>

    <!--stringRedisTemplate是spring用来操作Redis的一个类-->
    <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
        <property name="connectionFactory" ref="jedisConnectionFactory"/>
    </bean>

5、shiro安全框架的相关配置

shiro在web.xml中的配置

  <!--配置shiro-->
  <filter>
    <filter-name>shiroFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
      <param-name>targetFilterLifecycle</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>shiroFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

shiro在spring.xml中的配置(或者自己专门写一个放shiro配置文件的xml)

    <!--shiro结合spring管理java对象生命周期的一个类-->
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>

    <!--myRealm是用来访问数据库获得用户名和密码的-->
    <bean id="myRealm" class="com.qf.shiro.realm.MyRealm">
        <!--配置加密方式-->
        <property name="credentialsMatcher" ref="hashMatcher"/>
    </bean>

    <!--配置加密方式-->
    <bean id="hashMatcher" class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
        <property name="hashAlgorithmName" value="MD5"/>
    </bean>

    <!--securityManager是匹配数据的类  DefaultSecurityManager是SecurityManager接口的具体实现类-->
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <property name="realm" ref="myRealm"/>
    </bean>

    <!--ShiroFilterFactoryBean是真正处理拦截的类-->
    <!--这里的id要和web.xml中的委派过滤器名称一致-->
    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>
        <!--如果没有登录就跳转到denglu.jsp页面-->
        <property name="loginUrl" value="/denglu.jsp"/>
        <!--如果没有访问权限就跳转到unAuthorized.jsp页面-->
        <property name="unauthorizedUrl" value="/unAuthorized.jsp"/>

        <!--配置拦截规则-->
        <property name="filterChainDefinitions">
            <!--放行denglu.jsp和/shiro/login接口 其他的没有登录就拦截-->
            <value>
                /denglu.jsp=anon
                /shiro/login=anon
                /loginSuccess.jsp=anon
                /shiro/addUser=authc,roles[超级管理员]
                /addUser.jsp=authc,roles[超级管理员]
                /**=authc
            </value>
        </property>
    </bean>

    <!--允许shiro的配置生效-->
    <!-- Enable Shiro Annotations for Spring-configured beans.  Only run after -->
    <!-- the lifecycleBeanProcessor has run: -->
    <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/>
    <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
        <property name="securityManager" ref="securityManager"/>
    </bean>

6、导入C标签的语句

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
发布了7 篇原创文章 · 获赞 1 · 访问量 226

猜你喜欢

转载自blog.csdn.net/weixin_44991320/article/details/103979454