Eclipse+Maven+SSM整合

Eclipse+maven SSM框架整合 Eclipse+Maven整合SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。 (一)用Eclipse创建Maven项 选择使用骨架 maven-archetype-webapp ,这是我们创建一个Web 比较常用的骨架,然后下一步。 GroupID 是项目组织唯一的标识符,一般来说可以设置的与包结构一致,也就是 main 目录里java 的目 阅读详情

Eclipse+Maven+SSM整合

一、准备工作:
maven:apache-maven-3.2.3
jdk:jdk1.8.0_25
tomcat:tomcat-8.5
MySQL- 5.7

二、细节准备:
1.调整Dynamic Web Module 版本
maven自带的Dynamic Web Module版本是2.3,需要修改成Dynamic Web Module 3.0版本(创建更完整的web项目结构)
步骤:
1.1:创建一个maven web 工程
在这里插入图片描述
1.2:选中项目名称,右击选择Proprities选项,进入:
在这里插入图片描述
这里显示Dynamic Web Module 为2.3,java版本为1.5,但是我们用的是1.8,所以可以先改过来,同时把Dynamic Web Module前面的选项去掉,然后点击Apply应用一下。
在这里插入图片描述
接下来,再勾选中Dynamic Web Module,先不要着急点Apply
在这里插入图片描述
点击Further configuration available 输入src/main/webapp 并选中复选框
在这里插入图片描述
1.3:注意jre使用的版本
在这里插入图片描述
修改方式:
在这里插入图片描述
接着配置Build build path 和java compiler ,都设置为JDK1.8,点击Apply and close.

问题:关于创建的maven web工程Java Resources 一直出现红色小叉号
在这里插入图片描述
解决方式:
第一步:首先使用cmd查看自己的jdk版本
在这里插入图片描述
第二步:打开项目属性,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第三步:修改完错误还在,就选择更新项目,选中项目名,右击选择maven选项,
在这里插入图片描述
修改完基本上就没有了红色叉号了。

如果还是有错误,接下来是解决办法:

打开windows–>show view–> problems
在这里插入图片描述

Description	                                                        Resource	Path	Location	Type
Cannot change version of project facet Dynamic Web Module to 2.5.	cms-web		line 1	Maven Java EE C

错误的原因大概是当前web.xml版本是2.5而maven的web.xml的版本是2.3所以会提示版本不一致
解决方式也很简单:
创建普通的web项目 在创建的时候选择web版本为3.0(因为项目中选择的是3.0)
在这里插入图片描述
然后把当前创建web.xml复制放在maven项目的web-info里面,刷新项目,错误就会消失

另外一种解决方式:maven项目升级为3.0
在这里插入图片描述
在这里插入图片描述
然后在eclipse里右键该工程–maven–updateProject即可。这时候项目有可能报红x,打开windows–>show view–> problems错误信息为

Dynamic Web Module 3.0 requires Java 1.6 or newer.

解决方式:
直接选中项目,选择properties选项,

在项目的pom.xml的标签中加入:(可以不添加)

<plugins>  
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <version>2.3.2</version>  
        <configuration>  
            <source>1.6</source>  
            <target>1.6</target>  
        </configuration>  
    </plugin>  
</plugins>  

1.4:注意项目的编码问题:
在这里插入图片描述

到这里,Maven项目就建好了,接下来,我们来整合搭建SSM(Spring MVC + Spring + Mybatis)

2.整合ssm

创建一个maven web基本框架,接下来就是配置pom.xml,导入相关的jar文件
第一步:
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.lanqiao</groupId>
  <artifactId>telecomsystem</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>telecomsystem Maven Webapp</name>
  <url>http://maven.apache.org</url>

	<properties>  
        <!-- spring版本号 -->  
        <spring.version>4.0.2.RELEASE</spring.version>  
        <!-- mybatis版本号 -->  
        <mybatis.version>3.2.6</mybatis.version>  
        <!-- log4j日志文件管理包版本 -->  
        <slf4j.version>1.7.7</slf4j.version>  
        <log4j.version>1.2.17</log4j.version>  
    </properties> 
	
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>

		<!-- 导入java ee jar 包 -->
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-api</artifactId>
			<version>7.0</version>
		</dependency>
		
		<!--web-->
        <!--支持 Servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <!--支持 JSP-->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <!--支持 JSTL-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
		
		<!-- spring核心包 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!--Spring Web 核心-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-oxm</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		 <!--Spring 事务-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!--Spring JDBC-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		 <!--Spring MVC-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<!--spring mvc-json依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.8.4</version>
        </dependency>
		
		<!--Spring 面向切面编程-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<!--spring-aop 依赖-->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.2</version>
        </dependency>

		<!--JSR 250 公共注解-->
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.2</version>
        </dependency>
		
		 <!--Java 事务接口-->
        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>javax.transaction-api</artifactId>
            <version>1.2</version>
        </dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<!-- mybatis核心包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>${mybatis.version}</version>
		</dependency>
		<!-- mybatis/spring包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.2.2</version>
		</dependency>


		<!-- 导入Mysql数据库链接jar包 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.44</version>
		</dependency>

		<!-- MyBatis 生成器 -->
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.3</version>
		</dependency>
		
		<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.2.2</version>
		</dependency>

		<!-- JSTL标签类 -->
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<!-- 日志文件管理包 -->
		<!-- log start -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>

		<!-- 格式化对象,方便输出日志 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.1.41</version>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>${slf4j.version}</version>
		</dependency>
		<!-- log end -->
		<!-- 映入JSON -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<!-- 上传组件包 -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
		
	<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
		<dependency>
		    <groupId>org.projectlombok</groupId>
		    <artifactId>lombok</artifactId>
		    <version>1.18.8</version>
		    <scope>provided</scope>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
	<dependency>
	    <groupId>com.alibaba</groupId>
	    <artifactId>druid</artifactId>
	    <version>1.1.16</version>
	</dependency>
	
	</dependencies>
 

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
		</plugins>
	</build>
 
</project>

第二步:
在src/main/resources文件夹下创建配置文件
在这里插入图片描述
具体的配置属性:注意配置文件名尽量不改动,不然配置文件中的一些位置需要改动
applicationContext.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:p="http://www.springframework.org/schema/p"  
    xmlns:aop="http://www.springframework.org/schema/aop"   
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:jee="http://www.springframework.org/schema/jee"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xsi:schemaLocation="    
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 
<!-- 自动扫描,支持使用注解方式,自动装配bean -->

 <context:component-scan base-package="org.tele.service" />
<!-- 加载jdbc的属性文件到上下文 -->
<!-- <context:property-placeholder location="classpath:jdbc.properties"/> -->
<bean id="config" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
	<property name="locations">
		<list>
			<value>classpath:jdbc.properties</value>
		</list>
	</property>
</bean>
<!-- 配置数据源 -->
	<bean id="DruidDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
		destroy-method="close">
		<!-- 基本属性 url、user、password -->
		<property name="driverClassName" value="${jdbc.driver}"/>
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		<!-- 配置初始化大小、最小、最大 -->
		<property name="initialSize" value="1" />
		<property name="minIdle" value="1" />
		<property name="maxActive" value="20" />
		<!-- 配置获取连接等待超时的时间 -->
		<property name="maxWait" value="60000" />
		<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
		<property name="timeBetweenEvictionRunsMillis" value="60000" />
		<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
		<property name="minEvictableIdleTimeMillis" value="300000" />
		<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
		<property name="poolPreparedStatements" value="true" />
		<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
		<!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
		<property name="filters" value="stat" />
	</bean>


	<!-- 配置mybatis的sqlSessionFactory,同时交由spring管理 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!--数据库连接池  -->
		<property name="dataSource" ref="DruidDataSource" />
		<!-- 自动扫描mappers.xml文件 -->
		<property name="mapperLocations" value="classpath:org/tele/mapper/*.xml"></property>
		<!-- 架子mybatis全局配置文件 -->
		<property name="configLocation" value="classpath:mybatis.xml"></property>
	</bean>

	<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="org.tele.dao" />
		<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="DruidDataSource" />
	</bean>	
	<!-- 配置事务通知属性 -->  
	<tx:advice id="txAdvice" transaction-manager="transactionManager">  
	    <!-- 定义事务传播属性 -->  
	    <tx:attributes>  
	        <tx:method name="insert*" propagation="REQUIRED" />  
	        <tx:method name="update*" propagation="REQUIRED" />  
	        <tx:method name="edit*" propagation="REQUIRED" />  
	        <tx:method name="save*" propagation="REQUIRED" />  
	        <tx:method name="add*" propagation="REQUIRED" />  
	        <tx:method name="new*" propagation="REQUIRED" />  
	        <tx:method name="set*" propagation="REQUIRED" />  
	        <tx:method name="remove*" propagation="REQUIRED" />  
	        <tx:method name="delete*" propagation="REQUIRED" />  
	        <tx:method name="change*" propagation="REQUIRED" />  
	        <tx:method name="get*" propagation="SUPPORTS" read-only="true" />  
	        <tx:method name="find*" propagation="SUPPORTS" read-only="true" />  
	        <tx:method name="load*" propagation="SUPPORTS" read-only="true" />  
	        <tx:method name="*" propagation="SUPPORTS" read-only="true" />  
	    </tx:attributes>  
	</tx:advice>  

	<!-- 配置事务切面 -->  
	<aop:config>  
	    <aop:pointcut id="serviceOperation"  
	        expression="execution(* org.tele.service.*.*(..))" />  
	    <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />  
	</aop:config>
</beans>

springmvc.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:p="http://www.springframework.org/schema/p"  
    xmlns:aop="http://www.springframework.org/schema/aop"   
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:jee="http://www.springframework.org/schema/jee"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="    
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">    

	<!-- 使用注解的包,包括子集 -->
	<context:component-scan base-package="org.tele.controller" />
	
	<!-- 注解的驱动,会自动注册几个bean,其中一个功能把对象和json进行转化 -->
	<mvc:annotation-driven></mvc:annotation-driven>
	<!-- 定义静态资源文件映射路径 -->
    <mvc:resources location="/images/" mapping="/images/**"></mvc:resources>
    <mvc:resources location="/css/" mapping="/css/**"></mvc:resources>
    <mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
    
    
    <!--避免IE执行AJAX时,返回JSON出现下载文件 -->  
    <bean id="mappingJacksonHttpMessageConverter"  
        class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
        <property name="supportedMediaTypes">  
            <list>  
                <value>text/html;charset=UTF-8</value>  
            </list>  
        </property>  
    </bean>  

    
    <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->  
    <bean  
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="messageConverters">  
            <list>  
                <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->  
            </list>  
        </property>  
    </bean> 
    
    
	<!-- 视图解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/" />
		<property name="suffix" value=".jsp"></property>
	</bean>
	
	<!-- 上传文件解析器 -->
   <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    	<!-- one of the properties available; the maximum file size in bytes -->
    	<!-- 1KB= 1024 byte   1MB=1024KB    1GB=1024MB-->   	
        <!-- 默认编码 -->  
        <property name="defaultEncoding" value="utf-8" />    
        <!-- 文件大小最大值 -->  
        <property name="maxUploadSize" value="10000000" />    
        <!-- 内存中的最大值 -->  
        <property name="maxInMemorySize" value="40960" />  
   </bean>
	<context:annotation-config />
</beans> 

mybatis.xml

<?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>
<!--给entity起别名,后面容易直接引用类名  -->
<typeAliases>
	<package name="org.tele.entity"/>
</typeAliases>

</configuration>

mybatis.xml这个虽然可以整合到spring.xml中,但是为了规范,尽量保持该文件的存在

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" id="WebApp_ID" version="3.0">
	<display-name>Telecom Charge System</display-name>
  <welcome-file-list>
    <welcome-file>login_soft.jsp</welcome-file>
  <!--   <welcome-file>./WEB-INF/view/login.jsp</welcome-file> -->
  </welcome-file-list>

	<!--集成Spring  定义了一个全局的上下文参数,参数里定义一个全局的spring配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	<!-- 定义了一个上下文 监听器,当上下文加载的时候会自动加载上面的applicationContext.xml-->
	<!--Spring的application.xml在tomcat服务器启动时不会自动加载,需要配置一个监听器启动servletContext时一同加载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框架提供的字符编码过滤器,把所有的编码转换成UTF-8,防止乱码的出现, -->
	<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>
	<!--集成SpringMVC  springmvc的核心控制分发器 -->
	<servlet>
		<servlet-name>DispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>  
<!-- 		<multipart-config>
            临时文件的目录
            <location>/upload/</location>
            上传文件最大10M
            <max-file-size>10485760</max-file-size>
            上传文件整个请求不超过10M
            <max-request-size>10485760</max-request-size>
        </multipart-config> -->

	</servlet>
	<servlet-mapping>
		<servlet-name>DispatcherServlet</servlet-name>
<!-- 		<url-pattern>/</url-pattern> -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>
  
</web-app>

log4j.properties

 ### \u8BBE\u7F6E###
log4j.rootLogger = debug,stdout,D,E
 
### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
 
### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = G://logs/log.log   //放置的日志位置
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
 
### \u8F93\u51FAERROR \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =G://logs/error.log   //放置的日志位置
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
### \u8BBE\u7F6E###
log4j.rootLogger = debug,stdout,D,E

### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File =G://logs/log.log   //放置的日志位置
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### \u8F93\u51FAERROR \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =G://logs/error.log    //放置的日志位置
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/实例名
jdbc.username=root
jdbc.password=1234

到这基本上所有的属性文件的配置就已经完成了,接下来就是配置相关的测试实例
这里给出一个基本的例子,在src/main/java文件夹下创建如下
在这里插入图片描述
具体代码如下:
dao层的Admindao.java,这里一般不需要进行注解

package org.tele.dao;
import org.tele.entity.Admin;
public interface AdminDao {	
	public  Admin selectAdmin(Admin admin);
}

mapper层的映射文件admindao.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.tele.dao.AdminDao" >
	<select id="selectAdmin"  resultType="Admin">
		select * from tc_admin where aname=#{aname} and password=#{password}
	</select>
</mapper>

service层的adminService接口

package org.tele.service;
import org.tele.entity.Admin;
public interface AdminService {	
		public Admin selectAdmin(Admin admin);
}

service的实现类adminServiceImpl.java

package org.tele.service.impl;

import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.tele.dao.AdminDao;
import org.tele.entity.Admin;
import org.tele.service.AdminService;
@Service
public class AdminServiceImpl implements AdminService {

	@Resource
	private AdminDao admindao;
	
	@Override
	public Admin selectAdmin(Admin admin) {
		// TODO Auto-generated method stub
		Admin adm=admindao.selectAdmin(admin);
		System.out.println(adm);
		return adm;
	}
}

controller层的AdminController.java

package org.tele.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.tele.entity.Admin;
import org.tele.service.AdminService;

@Controller
public class AdminController {
	@Resource //依赖注入,注入service
	private AdminService adminservice;
	
	@RequestMapping("/login.do")
	public String login(Admin admin,HttpServletRequest request){
		Admin admin1=(Admin) adminservice.selectAdmin(admin);
		System.out.println(admin1);
		if(admin1==null){
			request.setAttribute("admin", admin);
			request.setAttribute("msg", "用户名或密码错误");
			return "login";
		}else{
			HttpSession session = request.getSession();
			session.setAttribute("rightadmin", admin1);
			return "success";
		}
		}
}

最后是一些调试的简单页面内容
在这里插入图片描述
login.jsp的内容

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
<script type="text/javascript" src="./WEB-INF/assets/js/jquery-3.4.1.min.js"></script>
</head>
<body>
<form action="${pageContext.request.contextPath}/login.do" method="post">
	username:<input type="text" name="aname" value="${admin.aname}"><br>
	password:<input type="password" name="password" value="${admin.password }"><br>
	<input type="submit" value="login"><font color="red">${msg}</font>
</form>
</body>
</html>

下面是跳转成功的显示页面success.jsp的内容

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Welcom to Login!${rightadmin.aname}
</body>
</html>

数据的内容这里就不给出了,可以根据下面的截图创建出相应的表
在这里插入图片描述
接下来是测试结果截图:
在这里插入图片描述
在这里插入图片描述

到这调试上也就完成了,可以写后面的代码

eclipse整合ssm(非maven和maven) 未整合之前 1Spring 核心配置文件: applicationContext.xml (1)配置包扫描。 2Springmvc 框架核心配置文件: springmvc.xml (0)配置一个包扫描:只负责扫描controller包: (1)配置处理器适配器 (2)配置处理器映射器 : 使用注解的方式。 (3)配置试图解析器: (4)【静态资源放行 】 (5)【拦截器:】 (6)【异常处理器】... 阅读详情

相关推荐

分别使用Eclipse和IDEa利用maven搭建SSM框架

分别使用Eclipse和IDEa利用maven搭建SSM框架,包括前端,后端和数据库,楼主全部搭建,反复验证,绝对可以使用的

Eclipse中运行Maven的几种方式

一、Eclipse中执行maven命令 1、如下图,右击需要执行maven命令的工程,选择"Debug As"或"Run As",再选择"Maven build…" 进行如上操作之后,会出现如下图所示的对话框: Name:可以给这个操作命令命名,每执行一个maven命令都会被保存。 Goals:输入我们需要执行的maven命令,一次执行多个命令用空格隔开。 复选框:下面的复选框可以让我们进行一些选择性的操作,如上图跳过测试。 我们执行过的命令可以选择"Run Configutations…"来查看 在

m0_54853503的博客 1万+

使用eclipse + maven一步步搭建SSM框架教程详解

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架.这篇文章主要介绍了eclipse + maven搭建SSM框架 ,需要的朋友可以参考下

【SSM框架】超详细的使用eclipse工具搭建SSM框架,一看就会

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。 1、搭建springmvc框架 1)创建动态web项目 2)引入jar包,并构建包路径 3)在web配置文件中配置spring容器和前端控制器(web.xml) <?xml version="1.0" encoding="UTF-8"?> ...

竹子的博客 7147

高速SerDes均衡技术解析

均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。

一只豌豆象的博客 1947

图信号处理中的多尺度分析:图小波变换与图傅里叶变换的对比与应用

本文深入探讨了图信号处理中的多尺度分析方法,重点对比了图小波变换(GWT)与图傅里叶变换(GFT)的技术特点与应用场景。通过分析图的拓扑结构,GWT展现出强大的局部洞察力,适用于异常检测和社区发现;而GFT则擅长全局频率分析,适合趋势分析和信号去噪。文章结合实战案例,为读者提供了方法选型指南和前沿进展,帮助开发者在生物信息学、社交网络分析等领域高效应用这些技术。

weixin_30369041的博客 406

eclipse使用maven搭建ssm框架实战

今天学习使用maven搭建ssm框架,一边学习一边搭建,网络上也有很多搭建ssm框架的教程,大家都可以学习下的。1.首先构建本地开发环境,即Java的环境变量和maven的环境变量。在图中可以看到我设置了Java的环境变量 JAVA_HOME:C:\Program Files\Java\jdk1.8.0_131 这个是代表jdk的存放路径,MAVEN_HOME:D:\study\apache-m...

d932385747的博客 1423

不用编码器也能玩转BLDC?手把手教你反电动势定位实战

本文详细介绍了无刷直流电机(BLDC)的无传感器控制方案——反电动势定位法,通过STM32实战演示如何实现基本控制。文章涵盖核心原理、硬件准备、信号采集技巧及代码实现,特别适合静音风扇、小型机器人等对成本敏感的应用场景,帮助开发者降低硬件成本并提升系统可靠性。

lg888的博客 898

(特详细)使用eclipse+maven搭建ssm框架

(特详细)使用eclipse+maven搭建ssm框架

ttxs_10的博客 1695

SAP EWM 内向交货流程(一)

本文介绍了SAP EWM系统中内向交货单的基本配置与操作流程。

huqinghai的专栏 2398

find命令

命令是 Linux/Unix 系统中用于搜索文件和目录的强大工具,支持多种搜索条件组合,并能对搜索结果执行各种操作。以下是其详细说明、常用参数及示例: 搜索路径:指定起始目录(如 、 或 表示当前目录)。 查找条件:基于文件名、类型、大小、时间等属性过滤。 处理动作:对匹配结果执行操作(如打印、删除、执行命令等)。 常用参数及示例 1. 按名称查找 :区分大小写匹配文件名。 :不区分大小写匹配文件名。 2. 按文件类型查找 :指定文件类型。 文件类型: :普通文件 :目录 :符号链接

qiao2458的博客 1135

eclipse整合SSM框架(非maven)

(一)前言 目前大多ssm整合教程都是基于Maven的,可能对于很多学生而言这并不合适,而且整合思路混乱,配置文件没有分开,使小白很难理解。 因此整合了基础的ssm框架,方便大家学习或者快速上手开发 BaseSSM解决了返回数据中文乱码的问题项目文末下载 (二)项目结构 接下来让我们开一下这个项目的整体结构 (三)创建项目 eclipse新建普通web项目 现在我们正式开始创建项目了。 前期工作:eclipse以及整合好Tomcat了,如果还有不会整个的可以参考eclipse整合T...

小陈没烦恼 2940

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

【SSM】Eclipse使用Maven创建Web项目+整合SSM框架

[【SSM】Eclipse使用Maven创建Web项目+整合SSM框架] 自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的《淘淘商城》一个ssm框架的电商项目。用过,但是还真的没有自己搭建过,一直都是用别人搭建好的。所以,从网上找了一些材料,结合自己来解决过程中的一些问题,使自己对ssm框架理解更加深了,不为分享,只是总结一下

灵思哑舍 1320

使用MATLAB和Simulink来设计并仿真一个智能家居多传感器数据融合系统

智能家居多传感器数据融合系统旨在通过集成来自多种不同类型的传感器的数据,以提供更精确和可靠的环境信息或用户状态监测。例如,将温度、湿度、光照强度、运动检测等多种传感器的数据结合起来,可以更好地了解家庭内部的状态,并做出相应的调整或响应。在这个教程中,我们将使用MATLAB和Simulink来设计并仿真一个智能家居多传感器数据融合系统。

amy_mhd的博客 189

Android 13.0 设置默认屏幕亮度百分比

在13.0的系统ROM产品开发中,在一些产品开发中,对于设置默认屏幕亮度和屏幕亮度百分比的功能,在开发中也是常见的功能,在10.0的平台设置可能有一些不同,一般的都是在SettingProvider中设置就可以了 在11.0以后的系统中设置默认屏幕亮度的方法就不同了,接下来具体分析功能的实现

安卓兼职framework和app工程师的博客 1560

eclipse 环境下maven整合ssm

1.首先安装maven,可以使用eclipse自带的maven,也可以自己去官网(http://maven.apache.org/download.cgi)去下载,下载完后解压到指定目录下 我的maven目录 2.配置maven环境 在path中添加 maven的bin目录的路径 我的是E:\Java\apache-maven-3.6.0\bin 3.检验maven是否安装成功 在cmd输入mv...

rj2017211811的博客 380

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

eclipse工具 maven 整合ssm(三):SSM配置

eclipse工具 maven 整合ssm(三):SSM配置 在maven项目中,SSM的配置文件和不用maven工具时是一样的,配置文件放在src/main/resources文件夹下 1.spring配置文件applicationContext.xml <beans xmlns="http://www.springframework.org/schema/beans"

醇醛酸酯 的博客 539

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Eclipse 使用Maven整合SSM框架

Eclipse 使用Maven整合SSM框架 时间2017-10-16 15:31:33优快云博客 原文http://blog.youkuaiyun.com/u013451048/article/details/78250197 主题SpringEclipseMaven mavne整合SSM 0x00 开发环境 Windows 7 Eclipse Java ...

weixin_34364135的博客 167

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Maven+SSM整合在Eclipse中不能编译的问题

第一次使用了maven+SSM整合,一个错误搞了一天,才发现是源文件一直没有编译:正常的测试目录为src/test/java,目标目录为target/test-classes,如何修改内容,输出的结果都不变,经过排查发现target/test-classes中的class都是原来的。新修改后的代码无法自动编译。XXMapper.xml文件也是一样。试了各种方法都无效,曾经怀疑过Tomcat、配置文...

ls1120623840的博客 956

【Maven+SSM】备注:eclipse整合spring的那些坑

【Maven+SSM】备注:eclipse整合spring的那些坑 场景:接入Spring很简单。会涉及到web.xml中配置添加spring.xml的配置。 contextConfigLocation classpath:conf/spring.xml org.springf

haibo_bear的博客 506

Eclipse使用Maven创建Web项目+整合SSM框架

一、准备环境 1.maven:apache-maven-3.5.3 2.jdk:jdk1.8.0_131 3.tomcat:apache-tomcat-7.0.68 二、配置Maven、jdk 1、Window——>Preferences——>Maven——>设置自己的Settings 2、Window——>Preferences——>Ja...

weixin_30505225的博客 205

Eclipse中SSM框架整合,基于Maven工程

一、向pom.xml中导入jar包 1、Spring webmvc <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.6.RELEASE</version> </dependency> 2、Spring Jdbc <depen

weixin_44741397的博客 6万+
上一篇: Eclipse搭建Maven项目及使用
下一篇: java实现中国象棋 源代码
错过了时间
博客等级 码龄8年 139粉丝 37原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值