01_商城项目设计与工程搭建
01_DERAM商城项目设计与工程搭建
1.商城项目分析与设计
- 附件:商城项目设计.pdf
2.技术选型和开发环境
2.1 技术选型
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、EasyUI、KindEditor(富文本编辑器)
Redis(缓存服务器,单点登录,购物车)
Solr(搜索)
dubbo(分布式服务框架)HttpClient(HTTP 协议访问客户端)
ActiveMQ(消息队列)
Quartz(定时任务)
FastDFS(图片服务器)
FreeMarker(网页静态化)
Nginx(反向代理服务器)
MyCat(数据库中间件)
5.5 开发环境
IntelliJ IDEA 2019.2.2 x64
Maven 3.3.9
Tomcat 7.0.92(Maven Tomcat Plugin)
JDK 1.8
Mysql 5.7
Dubbo 2.5.3
Nginx 1.8.0
Redis 3.0.0
ActiveMQ 5.13.0
Win10 操作系统
GIT(版本管理)
3.工程搭建
3.1 使用Maven搭建工程
好处
- 管理jar包
- 管理工程之间的依赖关系
- 自动打包
- 统一版本控制
工程分析的结构(根据功能模块会搭建很多工程,先搭建后台管理工程)
Maven的常见打包方式
- jar:java工程
- war:web工程
- pom:聚合工程(可以包含子工程)
结构
- dream_parent:dream商城的父工程,pom,管理整个项目的统一的版本号,所有项目都继承它
- dream_common:通用的工具类的工程,通用的类型pojo,工具util,jar
- dream_manager:后台管理服务层工程。pom
- dream_manager_pojo:后台管理的pojo类型 jar
- dream_manager_dao:dao层,为service提供接口 jar
- dream_manager_interface:接口工程 jar
- dream_manager_service:提供服务的业务层工程 war(为了方便发布服务)
- dream_manager_web:后台管理的表现层,调用所有关于后台操作的业务层服务war
结构不要弄错!!!
- dream_parent:dream商城的父工程,pom,管理整个项目的统一的版本号,所有项目都继承它
3.2 工程搭建
dream_parent
新建一个空project,取名为dream
new->module->Maven
填写名称:dream_parent
next->finish
编辑pom.xml,更改打包方式为pom
添加jar包依赖和版本控制–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.dream</groupId><artifactId>dream_parent</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><!-- 集中定义依赖版本号 --><properties><junit.version>4.12</junit.version><spring.version>4.2.4.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><mysql.version>5.1.32</mysql.version><slf4j.version>1.6.4</slf4j.version><jackson.version>2.4.2</jackson.version><druid.version>1.0.9</druid.version><httpclient.version>4.3.5</httpclient.version><jstl.version>1.2</jstl.version><servlet-api.version>2.5</servlet-api.version><jsp-api.version>2.0</jsp-api.version><joda-time.version>2.5</joda-time.version><commons-lang3.version>3.3.2</commons-lang3.version><commons-io.version>1.3.2</commons-io.version><commons-net.version>3.3</commons-net.version><pagehelper.version>3.4.2-fix</pagehelper.version><jsqlparser.version>0.9.1</jsqlparser.version><commons-fileupload.version>1.3.1</commons-fileupload.version><jedis.version>2.7.2</jedis.version><solrj.version>4.10.3</solrj.version><dubbo.version>2.5.3</dubbo.version><zookeeper.version>3.4.7</zookeeper.version><zkclient.version>0.1</zkclient.version><activemq.version>5.13.0</activemq.version><freemarker.version>2.3.23</freemarker.version><quartz.version>2.2.2</quartz.version></properties><dependencyManagement><dependencies> <!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency> <!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>${commons-net.version}</version></dependency> <!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency> <!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>${httpclient.version}</version></dependency> <!-- quartz任务调度框架 --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>${quartz.version}</version></dependency> <!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency> <!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency> <!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId><version>${mybatis.paginator.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency> <!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency> <!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency> <!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</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-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency> <!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency> <!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons-fileupload.version}</version></dependency> <!-- Redis客户端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>${jedis.version}</version></dependency> <!-- solr客户端 --><dependency><groupId>org.apache.solr</groupId><artifactId>solr-solrj</artifactId><version>${solrj.version}</version></dependency> <!-- dubbo相关 --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>${dubbo.version}</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>${zookeeper.version}</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>${zkclient.version}</version></dependency><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-all</artifactId><version>${activemq.version}</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>${freemarker.version}</version></dependency></dependencies></dependencyManagement><build><finalName>${project.artifactId}</finalName><plugins><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><encoding>UTF-8</encoding></configuration></plugin> <!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins> <!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin> <!-- 配置打包时跳过测试 ,首次配置使用的时候会自动联网进行下载 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.12.4</version></plugin></plugins></pluginManagement></build> </project>
打包安装一下:把当前的parent项目安装maven的本地仓库中,其他的项目就可以进行依赖了
dream_common
继承_parent,但是目录不在 _parent下
右键parent工程->new->module
maven->next
更改文件root
添加打包jar
添加依赖
<?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"><parent><artifactId>dream_parent</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version><relativePath>../dream_parent/pom.xml</relativePath></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_common</artifactId><packaging>jar</packaging><!-- 依赖工具类的jar包 --><dependencies> <!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency> <!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>commons-io</groupId> <artifactId>commons-io</artifactId></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId></dependency> <!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency> <!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency> <!-- quartz任务调度框架 --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId></dependency> <!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency> <!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency></dependencies></project>
安装common
dream_manager
后台管理项目的父工程,pom,依赖common
跟common过程一样
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"><parent><artifactId>dream_parent</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version><relativePath>../dream_parent/pom.xml</relativePath></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_manager</artifactId><packaging>pom</packaging><dependencies><!--manager需要使用工具,需要调用common中的工具,添加common依赖--><dependency><groupId>com.dream</groupId><artifactId>dream_common</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies> </project>
dream_manager_pojo
实体类工程,jar,继承manager,而且作为manager的子目录存在
右键manager->new->module->maven->next
两个next,查看目录
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"><parent><artifactId>dream_manager</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_manager_pojo</artifactId><packaging>jar</packaging></project>
dream_manager_dao
构建过程跟pojo一样
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"><parent><artifactId>dream_manager</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_manager_dao</artifactId><packaging>jar</packaging><!-- 依赖的jar包 --><dependencies><dependency><groupId>com.dream</groupId><artifactId>dream_manager_pojo</artifactId><version>1.0-SNAPSHOT</version></dependency> <!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId></dependency> <!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency></dependencies> </project>
dream_manager_interface
跟pojo和dao一样
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"><parent><artifactId>dream_manager</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_manager_interface</artifactId><packaging>jar</packaging><dependencies><dependency><groupId>com.dream</groupId><artifactId>dream_manager_pojo</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies> </project>
dream_manager_service
业务层,给其他工程提供服务,为了便捷发布服务, 打包成war
右键manager->new->module->maven->选webapp的骨架(maven项目会根据估计搭建项目结构)
后面都一样,查看目录结构
更改为继承manager
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"><parent><artifactId>dream_manager</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_manager_service</artifactId><packaging>war</packaging><dependencies> <!-- dao依赖 --><dependency><groupId>com.dream</groupId><artifactId>dream_manager_dao</artifactId><version>1.0-SNAPSHOT</version></dependency> <!-- 接口的依赖 --><dependency><groupId>com.dream</groupId><artifactId>dream_manager_interface</artifactId><version>1.0-SNAPSHOT</version></dependency> <!-- spring的依赖 --> <!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency></dependencies> </project>
dream_manager_web
继承parent,多个后台管理项目的表现层,war
跟manager_service一样的骨架
<?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"><parent><artifactId>dream_parent</artifactId><groupId>com.dream</groupId><version>1.0-SNAPSHOT</version><relativePath>../dream_parent/pom.xml</relativePath></parent><modelVersion>4.0.0</modelVersion><artifactId>dream_manager_web</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><dependencies> <!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency> <!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><scope>provided</scope></dependency> <!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId></dependency></dependencies> </project>
3.3 启动工程
先启动manager
添加tomcat插件
配置maven启动
启动查看
启动web工程
添加tomcat,端口号设置为8080
<!--配置tomcat插件--><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8080</port><!--端口号--><path>/</path><!--访问路径--></configuration></plugin></plugins></build>
配置maven启动
启动测试
3.4 项目目录
4.SSM整合
4.1 搭建商城项目的数据库环境
新建一个数据库dream
运行sql文件
- 右键数据库->运行sql文件->选择dream.sql
- 右键数据库->运行sql文件->选择dream.sql
4.2 使用MyBatis-逆向工程生成pojo和mapper文件,拷贝到pojo和dao下
在MyBatis的配置文件中,修改连接的数据库,生成的数据的包,和指定的数据表
SOA的架构是需要pojo在项目中进行传输,需要对象流,把对象进行序列化,所有的pojo都需要实现序列化接口
在MyBaits逆向工程生成时,指定需要实现序列化接口
<!-- 配置pojo的序列化 --> <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
把pojo拷贝到_pojo下,把mapper拷贝到 _dao下
4.3 配置dao层和service层
在_service下新建java和resources
在resources下新建3个资源文件夹
mybatis
进行MyBatis的配置SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!--把数据库链接交给spring管理,SqlSession等--> </configuration>
spring
applilcationContext-dao.xml:dao层的配置
<?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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 导入资源文件 db.properties--><context:property-placeholder location="classpath:properties/db.properties"/><!-- 配置dbcp连接池参数使用Spring表达式来传值使用Druid连接池,在功能和性能上都超过其他的dbcp,c3p0等连接池,alibaba提供的--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close"><property name="driverClassName" value="${jdbc.driver}"></property><property name="username" value="${jdbc.user}"></property><property name="password" value="${jdbc.password}"></property><property name="url" value="${jdbc.url}"></property><!-- 连接池启动时的初始值 --><property name="initialSize" value="${initialSize}" /><!-- 连接池的最大值 --><property name="maxActive" value="${maxActive}" /></bean><!-- 配置一个bean SqlSessionFactory对象--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 配置连接池 --><property name="dataSource" ref="dataSource"></property><!-- MyBatis的核心文件 --><property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property></bean><!-- 配置包扫描器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 配置要扫描的包 --><property name="basePackage" value="com.dream.mapper" /></bean> </beans>
applilcationContext-service.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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="com.dream.service"/> </beans>
applilcationContext-truns.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:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 1.配置事务的管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 指定要对哪个数据库进行事务操作 --><property name="dataSource" ref="dataSource"></property></bean><!-- 2.开启事务的注解 --><tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven> </beans>
properties
配置文件db.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/dream?useUnicode=true&characterEncoding=UTF-8 jdbc.user=root jdbc.password=123456#初始化连接数 initialSize=10#最大连接数 maxActive=50#最大空空闲数 maxIdle=20#最小空闲数 minIdle=5#最大等待时间 maxWait=60000
log4j
# Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><!--加载spring容器--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext-*.xml</param-value></context-param><!--spring监听--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener></web-app>
目录
4.4 配置_web
在main下,新建resources和java
在resources下导入log4j和springmvc
spring
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:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd"><context:component-scan base-package="com.dream.controller"/><!--开启MVC注解扫描 如果配置了此注解驱动,那么就不用配置处理器映射器和处理器适配器了 --><mvc:annotation-driven/><!--静态资源映射--><mvc:default-servlet-handler/><!--<mvc:resources mapping="/css/**/" location="/css/"/>--><!--定义视图解析器ViewResolver --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean> </beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 编码过滤器 --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><!-- 配置DispatcherServlet --><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置springMVC需要加载的配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><!-- 匹配所有请求,此处也可以配置成 *.do 形式 --><url-pattern>/</url-pattern></servlet-mapping></web-app>
目录
<param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><!-- 配置DispatcherServlet --><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置springMVC需要加载的配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><!-- 匹配所有请求,此处也可以配置成 *.do 形式 --><url-pattern>/</url-pattern></servlet-mapping></web-app>
- 目录
01_商城项目设计与工程搭建相关推荐
- django debug=false后静态文件丢失_python框架Django实战商城项目之工程搭建
项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用j ...
- python开发商城实战_python框架Django实战商城项目之工程搭建
项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用j ...
- 用python搭建微商城_python框架Django实战商城项目之工程搭建
项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用j ...
- 1-4 云商城项目工程搭建
1-4 云商城项目工程搭建 接下来我们就来搭建下云商城的项目工程结构. 1.工程结构划分 因为我们搭建的是微服务项目,所以整体的项目结构会非常的零散.虽然零散但是程序的复用性会非常高,所以首先在 ...
- 淘淘商城第111讲——订单系统服务层和表现层工程搭建
首先我们还是先看一眼淘淘商城的系统架构,如下图所示,可以看到订单系统是一个单独的模块,分服务层和表现层,服务层负责存储订单,表现层负责展示订单. 下面我们便要开始搭建工程了,可以先搭建订单系统的服务层 ...
- 淘淘商城第一天—电商行业的背景。淘淘商城的介绍。搭建项目工程。Svn的使用。
1.电商行业的模式: B2B:企业到企业,商家到商家.代表:阿里巴巴.慧聪网. B2C:商家到客户.代表:京东.淘宝商城(B2B2C). C2C:客户到客户.淘宝集市. O2O:线上到线下. 2.技术 ...
- 某马-某淘商城的day01---分析,工程搭建,tomcat插件启动工程,svn,反思
-1:为什么还要写某马的某淘商城呢? 答:万物更新,季节交替.新人总把旧人换.所以呢,前人写了N多遍的东西,我们依旧在学,所以下决心写某马的某淘商城.(也因为在学校还没找工作,所以找个相对长期的事情做 ...
- 商城项目03_人人前后端项目、逆向工程、common工程搭建、coupon以及各个微服务工程搭建
文章目录 ①. 人人前后端项目 ②. 人人项目-逆向工程 ③. common工程搭建 ④. coupon.member.ware.order代码导入 ①. 人人前后端项目 ①. 在码云上搜索人人开源, ...
- 头条项目---01项目介绍和工程搭建
第一章 项目介绍和工程搭建 学习目标 熟悉移动端应用系统的架构设计 熟悉大型软件系统设计中的各种图形结构 熟悉数据库分库分表设计技巧 熟悉Spring boot2.0+JavaConfig项目封装配置 ...
- Java在线教育项目 第一天项目介绍和工程搭建
第一章 项目介绍和工程搭建 学习目标 熟悉移动端应用系统的架构设计 熟悉大型软件系统设计中的各种图形结构 熟悉数据库分库分表设计技巧 熟悉Spring boot2.0+JavaConfig项目封装配置 ...
最新文章
- HDU 6208 The Dominator of Strings ——(青岛网络赛,AC自动机)
- java连连看(GUI)
- mybatis 中#与$的区别
- HttpServlet类简介和简单用法
- 更改密码 sp_password
- MFC 教程【6_应用程序的退出 】
- 解决ajax中文乱码问题
- JQuery 四个常用的DOM操作获得内容 - text()、html()、value 以及 val() ;取属性值attr()----前三个有回调函数
- 按键脚本c语言,按键精灵脚本代码大全 按键精灵命令使用方法
- swagger分页查询报错500
- 网站:推荐几款好用的在线短链生成工具
- HTML <caption> 标签
- 好莱坞大片! 为躲避死亡威胁, 只用15步, 这个密码朋克大叔就从世界消失了......
- 物联网云平台DTU Modbus协议 上位机 下位机 源码 源代码 程序
- 2023年企业固定资产管理怎么破局?
- beacon设备使用记录
- 网络通讯学习(3)-----UDP通讯(仅了解)
- Variable conv1/weights already exists, disallowed. Did you mean to set reuse=True...tensorflow报错
- 3个月“零基础”考研上岸复旦软院
- 学习React第三篇:在React组件上设置属性(PropTypes)
热门文章
- 随机抽样方法正太分布 MC, MCMC, Gibbs采样 原理实现(in R)
- 【生信进阶练习1000days】day7-RSQLite的使用
- 划分数算法概述及习题
- Lucene PriorityQueue JDK PriorityQueue
- 分享一篇去年的项目总结
- LeetCode 49 - Group Anagram 归类同构字
- 第二章:WebDriver 打开Firefox浏览器 和 Chrome 浏览器
- 《HelloGitHub》第 13 期
- Mysql使用优化之处(转)
- 【转】64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法