搭建基于SSI(struts2,spring,ibatis)的javaEE开发环境

最近有很多人不知道如何搭建基于SSI(struts2,spring,ibatis)的J2EE开发环境,这里给大家一个demo,供初学者使用,该框架是基于MVC的,并且已经做好了文件的分层等,并加入了日志文件,好了,废话不多说了
 
1.搭建struts2开发环境:
(1)找到开发strust2应用所需要使用到的jar文件
(2).编写struts.xml文件
struts.xml(struts的总配置文件)
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
3 "http://struts.apache.org/dtds/struts-2.0.dtd">
4
5 <struts>
6 <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
7 <include file="resources/webapp/struts/struts-product.xml"></include>
8 </struts>
 
struts-product.xml
 1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
3 "http://struts.apache.org/dtds/struts-2.0.dtd">
4
5 <struts>
6 <package name="product" extends="struts-default">
7 <action name="findProductList" class="productAction" method="findProductList">
8 <result name="success">/welcome.jsp</result>
9 </action>
10 </package>
11 </struts>
(3).在web.xml中加入strust2框架启动配置
      <!-- Struts核心过滤器 -->
 1 <filter>
2 <filter-name>struts2</filter-name>
3 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
4 <init-param>
5 <param-name>struts.action.extension</param-name>
6 <param-value>htm</param-value>
7 </init-param>
8 </filter>
9 <filter-mapping>
10 <filter-name>struts2</filter-name>
11 <url-pattern>/*</url-pattern>
12 </filter-mapping>
2.搭建spring开发环境:
(1)找到开发spring应用所需要使用到的jar文件
(2).编写spring.xml文件
spring-applicationContext.xml(spring的总配置文件)
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
3 "http://www.springframework.org/dtd/spring-beans.dtd">
4 <beans>
5 <import resource="resources/spring/spring-dataResources.xml"/>
6 <import resource="resources/webapp/spring-action-product.xml"></import>
7 <import resource="resources/spring/spring-service-product.xml"></import>
8 <import resource="resources/spring/spring-dao-product.xml"></import>
9 </beans>
spring-dataResources.xml(配置数据源的配置文件)
 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
3 "http://www.springframework.org/dtd/spring-beans.dtd">
4
5 <beans>
6 <bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
7 <property name="driverClassName" value="com.mysql.jdbc.Driver" />
8 <property name="url" value="jdbc:mysql://127.0.0.1:3306/shop" />
9 <property name="username" value="root" />
10 <property name="password" value="123456" />
11 </bean>
12 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
13 <property name="configLocation" value="classpath:sql-map-config.xml" />
14 <property name="dataSource" ref="myDataSource" />
15 </bean>
16 </beans>
spring-action-product.xml(spring 对action层的配置)
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3 <beans>
4 <bean id="productAction" class="com.yangyang.action.product.ProductAction" singleton="false" autowire="byName" />
5 <!-- <bean id="productAction" class="com.yangyang.action.product.ProductAction" scope="prototype" autowire="byName" /> -->
6 </beans>
 
spring-service-product.xml(spring 对service层的配置)
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
3 "http://www.springframework.org/dtd/spring-beans.dtd">
4 <beans>
5 <bean id="productManager" class="com.yangyang.manager.product.impl.ProductManagerImpl" autowire="byName"/>
6 </beans>
spring-dao-product.xml(spring 对dao层的配置)
 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
3 "http://www.springframework.org/dtd/spring-beans.dtd">
4
5 <beans>
6 <bean id="productDao" class="com.yangyang.dao.product.impl.ProductDaoImpl">
7 <property name="sqlMapClient">
8 <ref bean="sqlMapClient" />
9 </property>
10 </bean>
11 </beans>
(3).在web.xml中加入spring框架启动配置
   <!-- spring 基本配置  -->
1 <context-param>
2 <param-name>contextConfigLocation</param-name>
3 <param-value>classpath:spring-applicationContext.xml</param-value>
4 </context-param>
5 <listener>
6 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
7 </listener>
3.搭建ibatis的环境:
(1)找到开发ibatis应用所需要使用到的jar文件
(2)编写sql-map-config文件
sql-map-config.xml(ibatis的配置文件)
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
3 "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
4
5 <sqlMapConfig>
6 <settings enhancementEnabled="true" maxTransactions="40" maxRequests="32" maxSessions="10"/>
7 <!--SQL 映射文件列表 -->
8 <sqlMap resource="resources/ibatis/sqlmap-product.xml"/>
9 </sqlMapConfig>
 
sqlmap-product.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
3 "http://ibatis.apache.org/dtd/sql-map-2.dtd">
4 <sqlMap>
5 <select id="findProductList" resultClass="Long">
6 SELECT MONTH('2012-12-08')
7 </select>
8 </sqlMap>
 
4.配置log4j.xml
(1)找到开发ibatis应用所需要使用到的jar文件
(2).两种方式加载log4j的打印信息
方法一:在src目录下加入log4j. properties
log4j.properties(打印配置的信息)
 1 log4j.rootLogger=DEBUG, stdout, fileout
2 #log4j.logger.test=info
3 #log4j.logger.org.apache.jasper = DEBUG
4 #log4j.logger.org.apache.catalina.startup.TldConfig = DEBUG
5 #log4j.logger.org.apache.catalina.session.ManagerBase = DEBUG
6
7 log4j.logger.com.fiscal = DEBUG
8 log4j.logger.com.system = DEBUG
9
10 log4j.logger.com.ibatis = DEBUG
11 log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
12 log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
13 log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
14 log4j.logger.java.sql.Connection = DEBUG
15 log4j.logger.java.sql.Statement = DEBUG
16 log4j.logger.java.sql.PreparedStatement = DEBUG, fileout
17 log4j.logger.java.sql.ResultSet = DEBUG
18
19 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
20
21 log4j.appender.fileout=org.apache.log4j.RollingFileAppender
22 log4j.appender.fileout.File=C:\\ibatis.log
23 log4j.appender.fileout.MaxFileSize=10000KB
24
25 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
26 log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} :%m%n
27 log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
28 log4j.appender.fileout.layout.ConversionPattern=[%-5p]_%d{yyyy-MM-dd HH:mm:ss} :%m%n
29
30 #log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
31
32 # log4j.logger.org=info

第二种方式直接在项目中加入:log4j.xml(只打印sql)

log4j.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
4
5 <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
6
7 <appender class="org.apache.log4j.ConsoleAppender" name="console">
8 <layout class="org.apache.log4j.PatternLayout">
9 <param name="ConversionPattern"
10 value="%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" />
11 <!-- param name="ConversionPattern"
12 value="=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" /-->
13 </layout>
14 </appender>
15 <appender class="org.apache.log4j.RollingFileAppender"
16 name="file">
17 <param name="File" value="MengBackup.log" />
18 <param name="MaxFileSize" value="100KB" />
19 <param name="MaxBackupIndex" value="2" />
20 <layout class="org.apache.log4j.PatternLayout">
21 <param name="ConversionPattern"
22 value="=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" />
23 </layout>
24 </appender>
25 <logger name="com.ibatis">
26 <level value="debug" />
27 </logger>
28 <logger name="com.ibatis.common.jdbc.SimpleDataSource">
29 <level value="debug" />
30 </logger>
31 <logger name="com.ibatis.common.jdbc.ScriptRunner">
32 <level value="debug" />
33 </logger>
34 <logger name="com.ibatis.common.jdbc.SqlMapClientDelegate">
35 <level value="debug" />
36 </logger>
37 <logger name="java.sql.Connection">
38 <level value="debug" />
39 </logger>
40 <logger name="java.sql.Statement">
41 <level value="debug" />
42 </logger>
43 <logger name="java.sql.PreparedStatement">
44 <level value="debug" />
45 </logger>
46 <logger name="java.sql.ResultSet">
47 <level value="debug" />
48 </logger>
49 <root>
50 <priority value="DEBUG" />
51 <appender-ref ref="console" />
52 <appender-ref ref="file" />
53 </root>
54 </log4j:configuration>

目录结构:

 5.最后是整个搭建好的项目:
 
 
 
 上传附件的功能没找到
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
分类: J2EE
标签: struts2springibatis

搭建基于SSI(struts2,spring,ibatis)的javaEE开发环境的更多相关文章

  1. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  2. JavaEE开发环境搭建(2)---(MySQL的安装)

    上次写了JavaEE开发环境搭建之jdk的安装...然后自己看的时候感觉有时候加载图片不是很流畅,所以这次就少添加点图片了~~ JavaEE开发环境搭建之MySQL的安装 1:mysql 的下载 在百 ...

  3. JavaEE开发环境搭建(1)---(jdk的安装)

    ----------我是前言---------- 有时候从网上找资料真的是一件很开(dan)心(teng)的事情, 因为很多你想要了解的东西总是很巧妙的被略去了... 或者... 根本没有... 真是 ...

  4. Linux服务器oraclejdk与openjdk共存并配置JavaEE开发环境

    由于本人学业的需要,需要在linux中搭建JavaEE开发环境,与windows的同学协同开发. JDK 由于fedora默认使用openjdk,移除多多少少会出现点问题,由于很多开源软件默认使用到它 ...

  5. JavaEE开发环境配置

    JavaEE开发环境配置 Tomcat的下载和安装 1.登录Tomcat 站点,下载Tomcat最新版本http://tomcat.apache.org/Windows平台下载ZIP包,LInux平台 ...

  6. 在MAC上搭建cordova3.4.0的IOS和android开发环境

    Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...

  7. 翻译:打造基于Sublime Text 3的全能python开发环境

    原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ ...

  8. Struts2+Spring+Ibatis集成合并

    上一篇博客讲述了Struts2+Spring的集成合并,主要是利用了一个中间jar包,这篇博客在加上Ibatis持久层框架,三个框架进行合并.其中Struts2和Spring部分和前边的一样,主要是讲 ...

  9. Eclipse搭建SSH(Struts2+Spring+Hibernate)框架教程

    | 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 确实,刚创博客,对于这个陌生的东西还是有些许淡然.这是我的第一篇博文,希望能给你们有帮助,这就是我最大的乐趣! 好了下面进入正题: SS ...

随机推荐

  1. asp.net 获得客户端 mac 地址

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. 云server 性能测试web压力测试

    前言:如今,云server主流.它已成为许多中小型企业的首选server,但是云server它是一个虚拟机.所以性能是一个大问题,从这里开始介绍云server性能测试,云webserver压力测试. ...

  3. 推荐几个靠谱的VPN

    最近开发scala程序使用sbt构建工程时,下载很慢,有些依赖只能通过VPN才能下载下来.在网上搜索了一大堆提供VPN服务的.有一大部分不提供试用,而且还必须得按年购买,看起来是像骗子. 在这里推荐几 ...

  4. Thrift实现C#通讯服务程序

    Thrift初探:简单实现C#通讯服务程序 好久没有写文章了,由于换工作了,所以一直没有时间来写博.今天抽个空练练手下~最近接触了下Thrift,网上也有很多文章对于Thrift做了说明:       ...

  5. Monkey源码分析之事件源

    上一篇文章<Monkey源码分析之运行流程>给出了monkey运行的整个流程,让我们有一个概貌,那么往后的文章我们会尝试进一步的阐述相关的一些知识点. 这里先把整个monkey类的结构图给 ...

  6. How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置

    原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then ...

  7. 萧墙HTML5手机发展之路(53)——jQueryMobile页面之间的参数传递

    基于单个页面模板HTTP通过路POST和GET请求传递参数.在多页模板,并且不需要server沟通,通常有三种方式在多页模板来实现页面之间的参数传递. 1.GET道路:上一页页生成参数并传递到下一个页 ...

  8. 快速构建Windows 8风格应用21-构建简单媒体播放器

    原文:快速构建Windows 8风格应用21-构建简单媒体播放器 本篇博文主要介绍如何构建一个简单的媒体播放器. <快速构建Windows 8风格应用20-MediaElement>博文中 ...

  9. 页面中引入js的几种方法

    通常大家最为熟悉的是一下两种方法: 在页面中直接写入<script type="text/javascript">js代码</script>. 在页面中引入 ...

  10. 使用rem设计移动端自适应页面二(转载)

    由于日常需求以无线居多,所以可以在业务中做一些尝试,如 rem,刚接触这个特性的时候,曾经一度爱不释手,仿佛在无线开发的坎坷路上寻找到一条捷径.然而随着使用范围的扩大,慢慢的发现了一些使用 rem 带 ...