IDEA搭建ssm框架测试衍生出的问题The APR based Apache Tomcat Native library which allows optimal performance in pr...

本文记录了使用IDEA部署SSM框架过程中遇到的问题及其解决办法,包括环境变量配置、.dll文件版本不匹配及项目中未正确导入jar包等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近玩起IDEA这开发工具,搭建ssm框架测试时,部署项目出现如下问题:

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Develop\jdk7\jdk1.7.0_79\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Develop\jdk8\jdk1.8.0_112\bin;D:\Develop\jdk8\jdk1.8.0_112\jre\bin;D:\Develop\apache-cxf-3.0.13\bin;D:\Develop\apache-maven-3.5.0\bin;D:\Develop\gradle-4.0\bin;D:\Develop\apache-tomcat-7.0.52\lib;C:\ProgramData\Oracle\Java\javapath;G:\oracle11g\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Common Files\NetSarang;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Develop\svn\bin;D:\Develop\MySQL\MySQL Server 5.5\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Develop\apache-tomcat-7.0.52\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Develop\Bandizip\;.

1.先搜了下解决方案,把tomcat的bin目录加入到环境变量中,没解决.

2.然后,有说下载.dll文件放到tomcat的bin目录下的,如下:(没解决)

步骤一:

http://tomcat.heanet.ie/native/1.1.10/binaries/

下载:tcnative-1.dll文件

启动tomcat,控制台:

严重: An incompatible version 1.1.10 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.29

说明.dll的版本需1.1.29的,那就下载1.1.29的呗....

步骤二:

 下载1.1.29版本的.dll文件,但是通过查找发现最新的版本也不过1.1.14....

 步骤三:

降低tomcat版本?换成tomcat6....

3.继续搜索:

http://blog.youkuaiyun.com/j04110414/article/details/8864667

(1).该文中说到jdk版本问题, jdk7和8都没影响, 依然是同样的错误.调到现在已经很无奈了......(读到这里我已经对国内的资料很反感了,大部分都是抄袭,但是直到最后问题解决发现他们抄袭的还是对我有帮助的...都是过来人啊...)

(2).jar包没有导入...??(就是这个问题)

  开始以为pom.xml自动导入就万事大吉了,原来IDEA创建的web项目,pom引入jar的依赖后,还需要下面的一步配置: 将jar包导入到项目中:

  File>Project Structure>Artifact

在pom.xml中依赖jar后, 此时的jar包是在上图的绿色部分.此时jar包是没有导入到项目中的!!!将其全选>右键....那啥,搞到左边来就ok了!!!(具体可搜索"IDEA的web项目导入jar包"可参考http://blog.youkuaiyun.com/qq_26525215/article/details/53239123这篇介绍了两种方式...)

好了, 导入jar包后重启tomcat:

欧了.浏览器自动弹出index.jsp:

===============================傲娇的分割线=================================

然后访问我的Servlet:

地址栏输入:http://localhost:8080/personal/user/showUser

此时,一万个草泥马奔腾而过....

这个问题就是和标题无关的事儿了.这是我编写测试代码时参考的网上的一个demo:http://blog.youkuaiyun.com/gallenzhang/article/details/51932152这篇已经介绍的非常详细了.我这里之所以出现这个问题是因为没连接到数据库,也就是我的jdbc.properties配置有问题:下面这个代码块是他项目中的配置,我需要将数据库名db_ssm修改为我的数据库名pers,然而我把这个jdbcUrl后面的拼接那一串干掉了:

修改成了jdbcUrl=jdbc:mysql://localhost:3306/pers, 是不是因为这样才报的错呢?...fuck.还有这种操作?

driverClasss=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/db_ssm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username=root
password=root

#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000

 再访问http://localhost:8080/personal/user/showUser

很明显了,绑定有问题,查看配置文件.原因如下:

 再访问http://localhost:8080/personal/user/showUser 终于好了...

此时验证jdbc.properties的jdbcUrl的拼接配置, 将拼接删除,改为:jdbcUrl=jdbc:mysql://localhost:3306/pers

重启tomcat,访问http://localhost:8080/personal/user/showUser其结果和带拼接的是一样的...后面拼接的编码集啥的无可厚非...

 

另:http://www.cnblogs.com/lz-wolf/archive/2011/10/29/2228923.html这篇的解决办法,我试了,不对号.不知道其他人是不是有这文章里讲的情况. 

 

总结: 

  1.pom.xml引入jar的依赖后需要将jar包导入到项目中;

  2.有时不得不考虑jdk和tomcat的版本问题,但基本上关系不大,通常用的无非tomcat7或8(貌似公司项目用的6), jdk7或8;

  3.查看控制台及日志文件;

  4.余下的就是基础知识和细心了;

  5.IDEA的项目结构等,摸索IDEA的路还很长啊...;

  6.每个人遇到的问题,原因可能都不止一个...

 

感谢:

http://blog.youkuaiyun.com/gallenzhang/article/details/51932152

http://blog.163.com/artsn@126/blog/static/36533281201211653657740/

http://blog.youkuaiyun.com/j04110414/article/details/8864667 

 

03-19
### IEEE 802.1Q VLAN Tagging Protocol Standard IEEE 802.1Q 是支持虚拟局域网(VLAN)的标准协议之一,通常被称为 Dot1q。该标准定义了一种用于以太网帧的 VLAN 标记系统以及交换机和桥接器处理这些标记帧的操作流程[^2]。 #### 协议结构概述 IEEE 802.1Q 的核心功能在于通过在以太网数据帧中插入特定字段来实现 VLAN 标签的功能。这种标签使得网络设备能够识别哪些流量属于哪个 VLAN,并据此执行转发决策。具体来说: - **Tag Header**: 在原始以太网帧头部增加了一个额外的 4 字节字段作为 VLAN 标签头。这四个字节包含了以下部分: - **Priority Code Point (PCP)**: 使用 3 比特表示优先级级别,范围从 0 到 7,主要用于 QoS 控制。 - **Canonical Format Indicator (CFI)**: 这是一个单比特位,在传统以太网环境中设置为零。 - **VLAN Identifier (VID)**: 使用 12 比特标识具体的 VLAN ID,理论上可以支持多达 4096 个不同的 VLAN(编号从 0 至 4095),其中某些特殊值保留给内部用途或管理目的。 #### 数据包处理机制 当一个带有 VLAN tag 的数据包进入支持 IEEE 802.1Q 的交换机时,它会依据此标签决定如何路由或者过滤该数据流。如果目标端口不属于同一 VLAN,则不会传输至其他无关联的物理接口上;反之亦然——只有相同 VLAN 成员之间才允许互相通信除非经过路由器跨网段访问[^1]。 此外,为了简化管理和配置过程并增强互操作性,还引入了一些辅助性的子协议和服务组件比如 GARP(通用属性注册协议)。GARP 可帮助分发有关 VLAN 成员资格的信息到各个连接节点以便动态调整其行为模式而无需频繁手动干预[^3]。 以下是创建带 VLAN TAG 的 Python 示例代码片段展示如何模拟构建这样的 Ethernet Frame: ```python from scapy.all import Ether, Dot1Q, IP, sendp def create_vlan_packet(src_mac="00:aa:bb:cc:dd:ee", dst_mac="ff:ff:ff:ff:ff:ff", vlan_id=100, src_ip="192.168.1.1", dst_ip="192.168.1.2"): ether = Ether(src=src_mac, dst=dst_mac) dot1q = Dot1Q(vlan=vlan_id) ip_layer = IP(src=src_ip, dst=dst_ip) packet = ether / dot1q / ip_layer return packet packet = create_vlan_packet() sendp(packet, iface="eth0") # Replace 'eth0' with your network interface name. ``` 上述脚本利用 Scapy 库生成包含指定源地址、目的地址及所属 VLAN 编号的数据报文并通过选定的网卡发送出去测试实际效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值