`
tonyJ
  • 浏览: 145832 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Maven多模块SSM框架搭建

 
阅读更多
整合SSM和Maven多模块,搭建一个简单的开发架构,具体的做法如下:
1、首先建一个Maven的项目,使用eclipse新建other->Maven Project,类型必须选择为pom。创建成功后的pom.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.cn.itava</groupId>
  <artifactId>Itava-main</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
</project>

2、在此基础上面新建各个Maven子模块,Web模块创建的时候选择pom类型为war,其他的为默认类型jar。

创建成功后在父模块会映射出这些包路径。

成功后父模块的pom.xml文件代码如下,添加相应的jar包(Spring 4.0.2.RELEASE mybatis 3.2.6 ):
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.cn.itava</groupId>
  <artifactId>Itava-main</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
    <module>Itava-dao</module>
    <module>Itava-util</module>
    <module>Itava-web</module>
    <module>Itava-service</module>
    <module>itava-controller</module>
  </modules>
  
  <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>  
  
   <dependencyManagement>
    <dependencies>  
        <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>4.11</version>  
            <!-- 表示开发的时候引入,发布的时候不会加载此包 -->  
            <scope>test</scope>  
        </dependency>  
        <!-- spring核心包 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-core</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
  
        <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>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-tx</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jdbc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aop</artifactId>  
            <version>${spring.version}</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>  
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-orm</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>  
        <!-- 导入java ee jar 包 -->  
        <dependency>  
            <groupId>javax</groupId>  
            <artifactId>javaee-api</artifactId>  
            <version>7.0</version>  
        </dependency>  
        <!-- 导入Mysql数据库链接jar包 -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>5.1.30</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>  
        <!-- 各个子包 -->
        <dependency>
        	<groupId>com.cn.itava</groupId>
        	<artifactId>Itava-controller</artifactId>
        	<version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
        	<groupId>com.cn.itava</groupId>
        	<artifactId>Itava-dao</artifactId>
        	<version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
        	<groupId>com.cn.itava</groupId>
        	<artifactId>Itava-service</artifactId>
        	<version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
        	<groupId>com.cn.itava</groupId>
        	<artifactId>Itava-util</artifactId>
        	<version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>  
  </dependencyManagement>
</project>

3、至此相应的包结构已经建好。
在Itava-web包中添加配置文件,spring-mvc.xml,spring-mybatis.xml,jdbc.properties,log4j.properties。包结构如下:

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:p="http://www.springframework.org/schema/p"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
    <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->  
    <context:component-scan base-package="org.itava.controller" />  
    <!--避免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 class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->  
        <property name="prefix" value="/WEB-INF/jsp/" />  
        <property name="suffix" value=".jsp" />  
    </bean>  
      
    <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->  
    <bean id="multipartResolver"    
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    
        <!-- 默认编码 -->  
        <property name="defaultEncoding" value="utf-8" />    
        <!-- 文件大小最大值 -->  
        <property name="maxUploadSize" value="10485760000" />    
        <!-- 内存中的最大值 -->  
        <property name="maxInMemorySize" value="40960" />    
    </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:p="http://www.springframework.org/schema/p"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
    <!-- 自动扫描 -->  
    <context:component-scan base-package="org.itava" />  
    <!-- 引入配置文件 -->  
    <bean id="propertyConfigurer"  
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="location" value="classpath:jdbc.properties" />  
    </bean>  
  
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
        destroy-method="close">  
        <property name="driverClassName" value="${driver}" />  
        <property name="url" value="${url}" />  
        <property name="username" value="${username}" />  
        <property name="password" value="${password}" />  
        <!-- 初始化连接大小 -->  
        <property name="initialSize" value="${initialSize}"></property>  
        <!-- 连接池最大数量 -->  
        <property name="maxActive" value="${maxActive}"></property>  
        <!-- 连接池最大空闲 -->  
        <property name="maxIdle" value="${maxIdle}"></property>  
        <!-- 连接池最小空闲 -->  
        <property name="minIdle" value="${minIdle}"></property>  
        <!-- 获取连接最大等待时间 -->  
        <property name="maxWait" value="${maxWait}"></property>  
    </bean>  
  
    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
        <!-- 自动扫描mapping.xml文件 -->  
        <property name="mapperLocations" value="classpath:org/itava/dao/mapping/*.xml"></property>  
    </bean>  
  
    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->  
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="org.itava.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="dataSource" />  
    </bean>  
  
</beans>  


jdbc.properties内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=sa
#\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570  
initialSize=0
#\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570  
maxActive=20
#\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2  
maxIdle=20
#\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2  
minIdle=1
#\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4  
maxWait=60000


log4j.properties代码如下:
#\u5B9A\u4E49LOG\u8F93\u51FA\u7EA7\u522B  
log4j.rootLogger=INFO,Console,File  
#\u5B9A\u4E49\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u5730\u4E3A\u63A7\u5236\u53F0  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
#\u53EF\u4EE5\u7075\u6D3B\u5730\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0F  
log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  
  
#\u6587\u4EF6\u5927\u5C0F\u5230\u8FBE\u6307\u5B9A\u5C3A\u5BF8\u7684\u65F6\u5019\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6  
log4j.appender.File = org.apache.log4j.RollingFileAppender  
#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55  
log4j.appender.File.File = logs/ssm.log  
#\u5B9A\u4E49\u6587\u4EF6\u6700\u5927\u5927\u5C0F  
log4j.appender.File.MaxFileSize = 10MB  
# \u8F93\u51FA\u6240\u4EE5\u65E5\u5FD7\uFF0C\u5982\u679C\u6362\u6210DEBUG\u8868\u793A\u8F93\u51FADEBUG\u4EE5\u4E0A\u7EA7\u522B\u65E5\u5FD7  
log4j.appender.File.Threshold = ALL  
log4j.appender.File.layout = org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n  


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>Archetype Created Web Application</display-name>  
    <!-- Spring和mybatis的配置文件 -->  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>classpath:spring-mybatis.xml</param-value>  
    </context-param>  
    <!-- 编码过滤器 -->  
    <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>SpringMVC</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <init-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>classpath:spring-mvc.xml</param-value>  
        </init-param>  
        <load-on-startup>1</load-on-startup>  
        <async-supported>true</async-supported>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>SpringMVC</servlet-name>  
        <!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->  
        <url-pattern>/</url-pattern>  
    </servlet-mapping>  
    <welcome-file-list>  
        <welcome-file>/index.jsp</welcome-file>  
    </welcome-file-list>  
  
</web-app>  


5、Itava-dao实现如下:

这里面的user_sqlMap.xml,User.java,UserDao.java代码是通过mybatis-generator自动生成的。
可参照博客:http://blog.csdn.net/zhshulin/article/details/23912615

6、Itava-service实现如下:


UserService代码:
package org.itava.service;

import org.itava.pojo.User;


public interface UserService {
	 public User getUserById(int userId); 
}




UserServiceImpl代码:
package org.itava.service.impl;

import javax.annotation.Resource;

import org.itava.dao.UserDao;
import org.itava.pojo.User;
import org.itava.service.UserService;
import org.springframework.stereotype.Service;

@Service("userService")  
public class UserServiceImpl implements UserService {  
    @Resource  
    private UserDao userDao;

	public User getUserById(int userId) {
		return this.userDao.selectByPrimaryKey(userId);  
	}  
    
   
}



7、Itava-controller代码如下:

UserController实现代码如下:
package org.itava.controller;
import javax.annotation.Resource;  
import javax.servlet.http.HttpServletRequest;  
  


import org.itava.pojo.User;
import org.itava.service.UserService;
import org.springframework.stereotype.Controller;  
import org.springframework.ui.Model;  
import org.springframework.web.bind.annotation.RequestMapping;  
  
  
@Controller  
@RequestMapping("/user")  
public class UserController {  
    @Resource  
    private UserService userService;  
      
    @RequestMapping("/showUser")  
    public String toIndex(HttpServletRequest request,Model model){  
        int userId = Integer.parseInt(request.getParameter("id"));  
        User user = this.userService.getUserById(userId);  
        model.addAttribute("user", user);  
        return "showUser";  
    }  
}  


8、在Itava-web中新建jsp文件,在pom.xml文件中配置tomcat服务器



pom.xml代码如下:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.cn.itava</groupId>
    <artifactId>Itava-main</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com.cn.itava</groupId>
  <artifactId>Itava-web</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>Itava-web Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
   <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
     </dependency>
     <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
     </dependency>
      <dependency>
            <groupId>com.cn.itava</groupId>
            <artifactId>Itava-controller</artifactId>
             <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <properties>
        <!-- 文件拷贝时的编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- 编译时的编码 -->
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    </properties>
    <build>
        <finalName>Itava-web</finalName>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
                <configuration>
                    <url>http://localhost:8080/manager/html</url>
                    <server>Itava-main</server>
                    <username>admin</username>
                    <password>admin</password>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    <profiles>  
    <profile>  
        <id>jdk-1.6</id>  
        <activation>  
            <activeByDefault>true</activeByDefault>  
            <jdk>1.6</jdk>  
        </activation>  
        <properties>  
            <maven.compiler.source>1.6</maven.compiler.source>  
            <maven.compiler.target>1.6</maven.compiler.target>  
            <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>  
        </properties>  
    </profile>  
</profiles>
</project>



showUser.jsp文件内容:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <title>测试</title>  
  </head>  
    
  <body>  
    ${user.userName}  
  </body>  
</html>


9、启动tomcat,访问界面http://localhost:8080/Itava-web/user/showUser?id=1







  • 大小: 22.2 KB
  • 大小: 18.5 KB
  • 大小: 13.2 KB
  • 大小: 15.1 KB
  • 大小: 11.9 KB
  • 大小: 10.7 KB
  • 大小: 21.8 KB
  • 大小: 11.8 KB
分享到:
评论

相关推荐

    基于人工势场法的动态路径规划算法与曲线平滑处理-自定义地图、起点、目标点与障碍物,可与A*和RRT融合应对动态障碍物(仅供学习参考使用),基于人工势场法的 动态路径规划+曲线平滑处理 路径规划算法

    基于人工势场法的动态路径规划算法与曲线平滑处理——自定义地图、起点、目标点与障碍物,可与A*和RRT融合应对动态障碍物(仅供学习参考使用),基于人工势场法的 动态路径规划+曲线平滑处理 路径规划算法 地图好修改 自己研究编写的Matlab路径规划 可自行设置起始点,目标点,障碍物,自由更地图。 ——————————————————— 可以和A*和RRT融合 动态障碍物 预先声明:该程序为版权所述,仅供学习参考使用。 ,基于人工势场法的动态路径规划; 曲线平滑处理; 路径规划算法; 地图可修改; 自行设置起点与目标点; 障碍物设置; 与A*和RRT融合; 动态障碍物处理。,基于人工势场法的动态路径规划与曲线平滑处理系统——可自定义地图与障碍物

    11 生产制造部门KPI指标(结合BSC).doc

    11 生产制造部门KPI指标(结合BSC)

    基于Python Flask框架的简单任务管理系统源码解析

    内容概要:本文档详细介绍了一款轻量级任务管理系统的构建方法,采用了Python语言及其流行Web框架Flask来搭建应用程序。从初始化开发环境入手到部署基本的CRUD操作接口,并结合前端页面实现了简易UI,使得用户能够轻松地完成日常任务跟踪的需求。具体功能涵盖新任务添加、已有记录查询、更新状态以及删除条目四个核心部分。所有交互行为都由一组API端点驱动,通过访问指定URL即可执行相应的操作逻辑。此外,在数据持久化层面选择使用SQLite作为存储引擎,并提供了完整的建模语句以确保程序顺利运行。最后,还提及未来拓展方向——加入用户权限校验机制、增强安全检查以及优化外观风格等方面的改进措施。 适合人群:熟悉Linux命令行操作并对Web编程有一定了解的技术爱好者;打算深入理解全栈开发流程或者正在寻找入门级别练手机会的朋友。 使用场景及目标:旨在为开发者传授实际动手编写小型互联网产品的技巧,尤其适用于个人作业管理或者是小团队协作场景下的待办事项追踪工具开发练习。通过亲手搭建这样一个完整但不复杂的系统,可以帮助学习者加深对于前后端协同工作流程的理解,积累宝贵的实践经验。 其他说明:虽然当前实例仅涉及较为基础的功能模块,但在掌握了这套架构的基础上,读者完全可以依据自身业务特点灵活调整功能特性,满足更多个性化定制化需求。对于初学者来说,这是一个非常好的切入点,不仅有助于掌握Flask的基础用法和技术生态,还能培养解决具体问题的能力。

    2025义务教育新课程标准生物(2022年版)必考试题含答案.docx

    2025义务教育新课程标准生物(2022年版)必考试题含答案.docx

    基于java+ssm+vue+mysql的线上书籍查阅系统 源码+数据库+论文(高分毕设项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat

    基于随机森林算法RF的多输入单输出数据回归预测-含详细注释的代码与性能评估指标(决定系数R2、平均绝对误差MAE、平均相对误差MBE),基于随机森林算法RF的数据回归预测 多输入单输出 代码含详细

    基于随机森林算法RF的多输入单输出数据回归预测——含详细注释的代码与性能评估指标(决定系数R2、平均绝对误差MAE、平均相对误差MBE),基于随机森林算法RF的数据回归预测 多输入单输出 代码含详细注释,不负责 数据存入Excel,替方便,指标计算有决定系数R2,平均绝对误差MAE,平均相对误差MBE ,基于随机森林算法RF的数据回归预测; 多输入单输出; 详细注释; 存入Excel数据; 指标计算包括R2, MAE, MBE。,"基于随机森林算法的Excel数据回归预测:多输入单输出模型,含注释与误差指标"

    【电磁】基于matlab一维大地电磁正演【含Matlab源码 11058期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    电商团队绩效考核管理制度.doc

    电商团队绩效考核管理制度

    酒店前厅客房主管晋升考核表.xlsx

    酒店前厅客房主管晋升考核表

    Python源码实例07如何生成高考填报志愿时的姓名区位码.zip

    Python源码实例07如何生成高考填报志愿时的姓名区位码.zip

    基于FPGA的QPSK调制解调技术实现:支持多种调制解调和信号处理方式解析,QPSK调制解调 FPGA 实现 verilog 语言 同样支持 FSM,MSK,DBPSK,DQPSK,8PSK,16QA

    基于FPGA的QPSK调制解调技术实现:支持多种调制解调和信号处理方式解析,QPSK调制解调 FPGA 实现 verilog 语言 同样支持 FSM,MSK,DBPSK,DQPSK,8PSK,16QAM等信号调制解调FPGA开发 目前只支持用 vivado,modelsim实现,quartus 目前还没有做 调制分为串并转,差分编码,上采样(插值),成形滤波,载波相乘等 解调分为数字正交下变频,低通滤波,符号同步,载波同步,相差调整,硬判决,差分解码,并串转等 调制解码误码率为 0(无噪声条件下) ,核心关键词:QPSK调制解调; FPGA; Verilog; FSM; MSK; DBPSK; DQPSK; 8PSK; 16QAM; 串并转换; 差分编码; 上采样; 成形滤波; 载波相乘; 数字正交下变频; 低通滤波; 符号同步; 载波同步; 相差调整; 硬判决; 误码率。,"基于FPGA的QPSK及多信号调制解调器实现,支持多种格式用Verilog编程"

    XX公司绩效考核责任书.doc

    XX公司绩效考核责任书

    Web前端开发+HTML5+四川旅游+宣传展示页面模板

    四川特色旅游宣传网页模板(含完整源码) 【项目介绍】 一个精心设计的四川旅游宣传网页,完美展现巴蜀文化特色。项目采用原生HTML+CSS+JavaScript开发,代码结构清晰,注释详细,适合学习和二次开发。 【功能特点】 精美轮播图展示四川特色景点 背景音乐播放器(古风音乐衬托氛围) 特色视频播放功能 响应式布局设计 优雅的过渡动画效果 完整的导航菜单系统 CSS现代化样式设计 【适用人群】 Web前端开发学习者 需要网页模板的旅游从业者 对四川文化感兴趣的开发者 HTML5+CSS3学习者 【技术栈】 HTML5 CSS3(含动画效果) JavaScript 媒体播放技术 响应式设计 【使用说明】 下载后解压即可使用 源码注释完整,易于理解 可直接部署或二次开发

    aether-test-util-1.13.1-13.el7.x64-86.rpm.tar.gz

    1、文件内容:aether-test-util-1.13.1-13.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/aether-test-util-1.13.1-13.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    房地产绩效考核方案.doc

    房地产绩效考核方案

    基于stm32 nucleo-L476的智能灯(操作说明+源码)超简单开发一个STM32手机APP远程控制应用

    Configuration Nucleo-L476RG-Test STM32CubeMX 4.19.0 Date 02/18/2017 MCU STM32L476RGTx PERIPHERALS MODES FUNCTIONS PINS ADC1 Temperature Sensor Channel ADC1_TempSens_Input VP_ADC1_TempSens_Input SYS SysTick SYS_VS_Systick VP_SYS_VS_Systick USART1 Asynchronous USART1_RX PA10 USART1 Asynchronous USART1_TX PA9 USART2 Asynchronous USART2_RX PA3 USART2 Asynchronous USART2_TX PA2 Pin Nb PINs FUNCTIONs LABELs 2 PC13 GPIO_Input keyUser 16 PA2 USART2_TX 17 PA3 USART2_RX 21 PA5 GPIO_Output LD2 42

    蚁群算法融合动态窗口法的路径规划算法研究:多动态障碍物的应用与挑战,蚁群算法融合动态窗口法路径规划算法 多动态障碍物 ,核心关键词:蚁群算法; 动态窗口法; 路径规划算法; 多动态障碍物; 融合 ,"

    蚁群算法融合动态窗口法的路径规划算法研究:多动态障碍物的应用与挑战,蚁群算法融合动态窗口法路径规划算法 多动态障碍物 ,核心关键词:蚁群算法; 动态窗口法; 路径规划算法; 多动态障碍物; 融合。,"融合动态窗口与蚁群算法的路径规划技术应对多动态障碍物"

    Python源码实例06之如何按照拼音顺序对中文汉字进行排序.zip

    Python源码实例06之如何按照拼音顺序对中文汉字进行排序.zip

    生产部员工KPI绩效考核指标(精).docx

    生产部员工KPI绩效考核指标(精)

    体育馆弱电智能化系统深化设计方案.pptx

    体育馆弱电智能化系统深化设计方案.pptx

Global site tag (gtag.js) - Google Analytics