第二篇:jetty服务器插件配置,ssm所需基本jar包引入,ssm相关文件配置

1. 配置jetty服务器插件
打开已默认创建的pom.xml文件,其中已经自动引入了一些jar和maven插件,我们在插件区<plugins></plugins>标签内加入以下代码段,引入jetty插件jar包,此时idea会自动下载jar包,或者打开右边Maven project面板刷新,如图:

        <plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>8.1.16.v20140903</version><configuration><connectors><connector implementation="org.eclipse.jetty.server.bio.SocketConnector"><port>8080</port></connector></connectors><stopKey /><stopPort /></configuration></plugin>


2. 配置常用maven命令:clean、package、run
点击工具栏 run-->Edit Configurations,或者点击图标进行配置命令,如图:

打开面板后,点击左上角+号,选择maven

输入Name(自定义)和命令行,package和clean同样

配置run时需要设置VM

此时,jetty服务器已配置完成,可以启动。接下来进行SSM项目所需jar和默认jar的引入

3. SSM项目所需jar和默认jar的引入
打开pom.xml文件,在<dependencies></dependencies>标签内加入以下代码片段,将需要的ssm项目所需要的jar引入,这些都可以从maven中央仓库找到,需要注意的是要保证版本的一致性,maven中央仓库地址:http://mvnrepository.com/

<dependencies><!--单元测试junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--SpringMVC--><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.18.RELEASE</version></dependency><!--Spring jdbc--><!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.3.18.RELEASE</version></dependency><!--Spring Aspect 面向切面--><!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects --><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.3.18.RELEASE</version></dependency><!--Mybatis--><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><!--Mybatis整合Spring适配包--><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.2</version></dependency><!--oracle数据库连接驱动--><dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.1.0</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.5</version></dependency><!--servlet、 jstl--><!-- https://mvnrepository.com/artifact/javax.servlet/jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${slf4j.version}</version><scope>provided</scope></dependency><dependency><groupId>org.glassfish</groupId><artifactId>javax.servlet</artifactId><version>3.0.1</version><scope>provided</scope></dependency></dependencies>

引入后可以看到这些依赖包已经加入项目:

配置好服务器和引入jar包后,接下来进行ssm项目文件配置,最后进行mybatis逆向生成,配置文件主要有:

web.xml 、applicationContext.xml(Spring) 、dispatcherServlet-servlet.xml (Spring MVC)、mybatis-config.xml(Mybatis)

对于ssm的完整组合,可以免去mybatis-config.xml的配置,这里为了各框架的清晰表达,将全部列出

下面是项目的目录结构和各配置文件所放位置:

直接上代码,有注释

1. web.xml

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"><display-name>Archetype Created Web Application</display-name><!--1. 启动Spring容器--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--2. Spring MVC 前端控制器 DispatcherServlet--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><!--3. 字符编码, 放在所有过滤器之前--><filter><filter-name>CharacterEncodingFilter</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>forceRequestEncoding</param-name><param-value>true</param-value></init-param><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--4. 使用Rest风格的URL--><filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

2. applicationContext.xml
spring配置文件,里面的数据库连接部分除了主要信息,其他的可以根据需求配置

<?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:aop="http://www.springframework.org/schema/aop"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/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><context:component-scan base-package="com.tumbler"><!--不扫描Controller包--><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:exclude-filter></context:component-scan><!--数据源--><context:property-placeholder location="classpath:dbconfig.properties"/><!-- 阿里 druid数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"><!-- 数据库基本信息配置 --><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="driverClassName" value="${jdbc.driver}" /><property name="filters" value="${filters}" /><!-- 最大并发连接数 --><property name="maxActive" value="${maxActive}" /><!-- 初始化连接数量 --><property name="initialSize" value="${initialSize}" /><!-- 配置获取连接等待超时的时间 --><property name="maxWait" value="${maxWait}" /><!-- 最小空闲连接数 --><property name="minIdle" value="${minIdle}" /><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" /><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" /><property name="validationQuery" value="${validationQuery}" /><property name="testWhileIdle" value="${testWhileIdle}" /><property name="testOnBorrow" value="${testOnBorrow}" /><property name="testOnReturn" value="${testOnReturn}" /><property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" /><!-- 打开removeAbandoned功能 --><property name="removeAbandoned" value="${removeAbandoned}" /><!-- 1800秒,也就是30分钟 --><property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" /><!-- 关闭abanded连接时输出错误日志 --><property name="logAbandoned" value="${logAbandoned}" /></bean><!--配置和Mybatis整合--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--指定mybatis全局配置文件的位置--><property name="configLocation" value="classpath:mybatis-config.xml"/><!--数据源--><property name="dataSource" ref="dataSource"/><!--指定mybatis mapper文件的位置--><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!--配置扫描器 , 将Mybatis接口的实现加入到IOC容器中--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!--扫描所有的dao接口,加入到IOC容器中--><property name="basePackage" value="com.tumbler.dao"/></bean><!--事务控制--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--控制数据源--><property name="dataSource" ref="dataSource"/></bean><!--开启基于注解的事务配置--><aop:config><!--切入点表达式--><aop:pointcut id="txPoint" expression="execution(* com.tumbler.service..*(..))"/><!--配置事务增强--><aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/></aop:config><!--配置事务增强 事务如何切入--><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!--代表切入的所有方法都是事务方法--><tx:method name="*"/><!--以get开始的所有方法--><tx:method name="get*" read-only="true"/></tx:attributes></tx:advice>
</beans>

3. dispatcherServlet-servlet.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/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--Spring MVC 的配置文件,包含网站跳转的控制--><context:component-scan base-package="com.tumbler" use-default-filters="false"><!--只扫描控制器--><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:include-filter></context:component-scan><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean><!--两个标准配置--><!--Spring mvc不能处理的请求交给服务器--><mvc:default-servlet-handler/><!--支持注解,校验,快捷ajax请求等,映射动态请求--><mvc:annotation-driven/>
</beans>

4. mybatis-config.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><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><typeAliases><package name="com.tumbler.bean"/></typeAliases>
</configuration>

5. dbconfig.properties
除了基本信息,其他根据需求配置

jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.username=scott
jdbc.password=oracle#------------------------------------------------------------------------------------------
#配置扩展插件 监控统计用filters:stat 日志用filters:log4j 防御sql注入用filters:wall
filters:log4j#最大连接池数量  初始化建立物理连接的个数  获取连接时最长的等待时间  最小连接池数量  maxIdle已经弃用
maxActive:20
initialSize:1
maxWait:60000
minIdle:10
maxIdle:15#有两个含义 1.Destroy 线程会检测连接的时间 2.testWhileIdle的判断依据
timeBetweenEvictionRunsMillis:60000#Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvictableIdleTimeMillis,则关闭当前连接
minEvictableIdleTimeMillis:300000#用来检测连接是否的sql,要求是一个查询语句。在mysql中通常设置为SELECT 'X'
validationQuery:SELECT 'x'#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery连接是否有效
testWhileIdle:true#申请连接时执行validationQuery检测连接是否有效 这个配置会降低性能
testOnBorrow:false#归还连接时执行validationQuery检测连接是否有效 这个配置会降低性能
testOnReturn:false#要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true
maxOpenPreparedStatements:20#对于建立连接超过removeAbandonedTimeout的连接强制关闭
removeAbandoned:true#指定连接建立多长就被强制关闭
removeAbandonedTimeout:1800#指定发生removeabandoned时,是否记录当前线程的堆栈信息到日志中
logAbandoned:true

6. generatorConfig.xml
Mybatis逆向生成配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="DB2Tables" targetRuntime="MyBatis3"><commentGenerator><!--不生成注释--><property name="suppressAllComments" value="true"/></commentGenerator><!--配置数据库连接信息--><jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl"userId="scott"password="oracle"></jdbcConnection><javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver><!--指定Javabean生成的位置--><javaModelGenerator targetPackage="com.tumbler.bean" targetProject=".\src\main\java"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!--指定Sql文件的存放位置--><sqlMapGenerator targetPackage="mapper"  targetProject=".\src\main\resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!--指定dao接口生成的位置--><javaClientGenerator type="XMLMAPPER" targetPackage="com.tumbler.dao"  targetProject=".\src\main\java"><property name="enableSubPackages" value="true" /></javaClientGenerator><!--指定每张表的生成策略--><table tableName="TB_USER" domainObjectName="User" ></table></context>
</generatorConfiguration>

7. runGeneratorMain.java
Mybatis逆向生成运行入口方法

package com.tumbler.test;import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;import java.io.File;
import java.util.ArrayList;
import java.util.List;/*** User:tumbler* Date:2018/8/22.* Desc:Mybatis逆向工程生成代码主类入口*/
public class runGeneratorMain {public static void main(String[] args) throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);}
}

到此为止,SSM项目已经搭建并配置完成,可以进行业务开发了。。。

转载于:https://blog.51cto.com/13003060/2164275

IDEA搭建Maven Web(SSM)项目(二)——jar包引入、jetty服务器配置和ssm配置相关推荐

  1. 使用阿里云Maven仓库部署项目公共jar包(Gardle)

    进入阿里云的maven仓库,将以下密码.用户名和url复制到公共项目的build.gradlew中填充(就是下面的java代码).(注意使用的是不是生产库,举例使用的生产库不是快照,release是生 ...

  2. Spring Boot+Maven将配置文件打包到Jar包外方便运维修改配置

    导语   在小公司使用Spring Boot部署上线,因为环境太多,导致运维开发相互之间重复的打包jar包运行到不同的环境上,使用容器技术又显得有点浪费,所以就先将配置文件打包的jar包外面.然后运维 ...

  3. Maven从私服下载相关jar包报错Could not find artifact问题

    遇到的问题:在个人私服的3rd_party上上传了几个jar包,使用idea maven加载项目相关jar包时,本地仓库可以从私服中央获取到相关jar包,但是jar.lastUpdated文件,并且m ...

  4. 手把手教你SSM搭建Easymall电商项目 (二)

    SSM搭建Easymall电商项目 (二) 目录 SSM搭建Easymall电商项目 (二) 一.Easymall需求代码实现 1.测试类测试请求地址路径IndexController.java    ...

  5. idea搭建 maven web项目

    idea搭建 maven web项目 1.Create new Project 2.选择Maven,勾选Create from archetype 在archetype中选择:org.apache.m ...

  6. maven 如何给web项目添加jar包依赖

    maven 如何给web项目添加jar包依赖 CreateTime--2018年4月19日19:06:21 Author:Marydon 开发工具:eclipse 1.打开pom.xml文件--> ...

  7. 搭建maven私服发布项目并从私服下载jar包

    1 私服说明 maven仓库分为本地仓库和远程仓库,而远程仓库又分为maven中央仓库.其他远程仓库和私服(私有服务器).其中,中央仓库是由maven官方提供的,而私服就需要我们自己搭建了. mave ...

  8. IDEA中MAVEN项目打JAR包的简单方法

    Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令. 最简单的方法 首先是在 ...

  9. maven 与intellij IDEA 下maven 为groovy 项目生成jar 详解

    2019独角兽企业重金招聘Python工程师标准>>> W7下安装 maven与intellij IDEA 下maven为groovy项目生成jar详解(适合新手) 第一步:下载ma ...

最新文章

  1. 百度前离职员工偶遇同门百度人,轻松通过面试,直呼放水很明显!这样真的好么?...
  2. vue拖动改变模板_可视化拖拽 UI 布局之拖拽篇
  3. boost::variant2模块实现复制分配的测试程序
  4. sql 中on和where的区别
  5. 代理模式(Proxy)--静态代理
  6. 兵器簿之Alcatraz(插件管理神器)的配置和使用
  7. 武汉大学2014年基础数学面试全过程
  8. BP神经网络预测模型+粒子群算法优化的BP神经网络(PSO-BP)预测模型,基于Matlab
  9. (学习笔记)图像处理——同态滤波
  10. 【MATLAB教程案例11~20总结】优化类算法matlab仿真经验和技巧总结
  11. 雷云Razer Synapse2.0使用测评 -第二次作业
  12. 网站CDN图片加速访问
  13. Vue使用vue-aplayer实现音乐播放
  14. 2019ICPC徐州 H.Yuuki and a problem(树状数组套权值线段树)
  15. linux lib文件夹,Linux下的lib文件故障解决实例
  16. 安警官的IP地址是怎样定位到莽村附近的?
  17. 乔治亚理工学院计算机专业,佐治亚理工学院计算机专业怎么样?
  18. Android两个canvas混合叠加,Android Canvas设置绘画时重叠部分的处理模式【含效果图】...
  19. 图或网络中的中心性:点度中心性、中介中心性、接近中心性、特征向量中心性、PageRank
  20. NBU-查看磁带里备份的内容

热门文章

  1. Away3d学习笔记(1)
  2. 将ERF格式转换成PCAP格式
  3. C#空接合操作符——??
  4. [转] 寻找第k大的数
  5. ubuntu 12.04 ubuntu System program problem detected 解决方法
  6. 手机锁屏js倒计时停止问题解决办法探索
  7. scp从另一台服务器下载或者上传文件
  8. 加入鹅厂,就趁现在!
  9. KDD2021|小红书在推荐多样化的实践——SSD
  10. jieba源码分析(一)