SSM框架搭建与数据源(JNDI)配置

18 篇文章 0 订阅
9 篇文章 0 订阅

一、SSM框架搭建

参考资料:

  1. 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(上)
  2. 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(下)

二、数据源配置

2.1 jndi只供应用本身使用

项目地址:https://gitee.com/gbc_sxy/springmvc.git,分支:ssm-jndi

  1. spring配置加上如下片段
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/mysql"/>
<!--或者-->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
  <property name="jndiName" value="java:comp/env/jdbc/mysql"></property> 
</bean>

image-20211101234200436

  1. 在项目的META-INFO 目录下添加context.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root"
    driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/dbname" />
</Context>

image-20211101234321158

  1. 在项目web.xml加入如下片段(非必须):
<resource-ref> 
  <description>DB Connection</description> 
   <res-ref-name>jdbc/mysql</res-ref-name> 
   <res-type>javax.sql.DataSource</res-type> 
   <res-auth>Container</res-auth> 
</resource-ref> 

image-20211101234423394

2.2 tomcat级别的全局的jndi配置

项目地址:https://gitee.com/gbc_sxy/springmvc.git,branch:ssm-tomcat-jndi

  1. spring配置不变
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/mysql"/>
<!--或者-->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
  <property name="jndiName" value="java:comp/env/jdbc/mysql"></property> 
</bean>

image-20211101235155882

  1. 在tomcat conf目录下,修改server.xml和context.xml

    • server.xml文件配置
    <GlobalNamingResources>
        <!-- Editable user database that can also be used by
             UserDatabaseRealm to authenticate users
        -->
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
        <Resource name="jdbc/mysql" 
                  auth="Container" 
                  type="javax.sql.DataSource" 
                  username="root" 
                  password="123456" 
                  url="jdbc:mysql://localhost:3306/mytest" 
                  driverClassName="com.mysql.jdbc.Driver" 
                  initialSize="5" 
                  maxWait="5000" 
                  maxActive="120" 
                  maxIdle="5" 
                  validationQuery="select 1" 
                  poolPreparedStatements="true"/>
    </GlobalNamingResources>
    

    如果项目需要指定请求前缀 “/ssm”,添加如下配置

    <!--
    	docBase:项目发布地址
    	path:指定请求上下文
    -->
    <Context docBase="E:\PATS\Tools\Apache\Tomcat\tomcat_7.0\webapps\ssm-tomcat-jndi" path="ssm" reloadable="true" crossContext="true" />
    
    • context.xml文件配置
    <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> 
    
    • Tomcat添加MySQL连接工具依赖

      image-20211102000221252

    • 项目打包发布

      • 项目打包:

        image-20211102000531873

      • 项目发布:

        将war包复制到Tomcat的webapps下,启动Tomcat

        image-20211102000700285

        启动Tomcat

        image-20211102000804736

        启动日志

        image-20211102000857884

        如果项目启动日志乱码,请修改Tomcat日志编码为:GBK

        image-20211102001054040

    • 验证测试

      • 项目解压:

        image-20211102001430375

      • 正常访问

        image-20211102001650960

      • 自定义上下文访问

        image-20211102001554100


    以上,请参考!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值