码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker) ----DawnHeaven

时间:2015-09-06 17:41:22      阅读:486      评论:0      收藏:0      [点我收藏+]

标签:

 

Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker)

                               ------DawnHeaven

 一、准备工作

  1.Eclipse Java EE IDE(4.4.1)

  2.JDK

  3.Tomcat

  4.Maven  maven安装指南

 

二、构建工程

  1.file->new->Project

    技术分享

  2.next

    技术分享

  3. next

    技术分享

  4.next

    技术分享

  5.finish

    工程目录如下

    技术分享

三、完善项目

    首先,完善目录,增加重要的source Folder,这个不是简单的Floder,这些文件夹是会参与编译的。

    增加src/main/java,src/test/resources,src/test/java目录。让目录变成标准的maven结构

    说明:src/test/resources 通过添加source Folder  添加 

         src/main/java,src/test/java 通过Navigator中 new folder 添加

    window->show view->Navigator

    技术分享

    标准目录为:

    技术分享

 

四、工程属性设置

    1.工程右键->Properties->Deployment Assembly

      修改为

      技术分享

五、SpringMVC工程搭建(MyBatis+Freemarker)

  1.完善工程目录结构  

    在src/main/java文件夹中,新建包

       com.operate.command(存放传入的参数javabean),

       com.operate.dto(存放数据库取出的数据的javabean),

               com.operate.dao(存放spring与mybatis连接接口),

       com.operate.persistence(存放中间持续的javabean),

                   com.operate.service(service接口),

       com.operate.service.impl(service接口的实现),

       com.operate.controller(存放控制层controller)

    在src/main/resource文件夹中,新建包

      conf(存放配置文件),

      mapper(mybatis的mapper文件)

    在src/test/java文件夹中,新建包

      com.operate.test(存放测试文件)

    在WEB-INF文件夹下新建ftl文件夹(存放freemarker文件)

    这样项目结构基本完成了,如下图:

    技术分享

  2.引入依赖包  

    打开maven的pom文件,对本次开发所需使用的架包依次导入(maven项目管理的优势)

    查找依赖结构有个不错的网站,http://search.maven.org/   只要输入包名即可查找引来关系

    pom.xml

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3   <modelVersion>4.0.0</modelVersion>
  4   <groupId>com.sheyou</groupId>
  5   <artifactId>operate</artifactId>
  6   <packaging>war</packaging>
  7   <version>0.0.1-SNAPSHOT</version>
  8   <name>operate Maven Webapp</name>
  9   <url>http://maven.apache.org</url>
 10   <properties>
 11         <!-- spring版本号 -->
 12         <spring.version>4.1.6.RELEASE</spring.version>
 13         <!-- mybatis版本号 -->
 14         <mybatis.version>3.2.8</mybatis.version>
 15         <!-- log4j日志文件管理包版本 -->
 16         <slf4j.version>1.7.7</slf4j.version>
 17         <log4j.version>1.2.17</log4j.version>
 18   </properties>
 19   <dependencies>
 20     <dependency>
 21       <groupId>junit</groupId>
 22       <artifactId>junit</artifactId>
 23       <version>4.4</version>
 24       <scope>test</scope>
 25     </dependency>
 26     <!-- spring jar -->
 27     <dependency>
 28         <groupId>org.springframework</groupId>
 29         <artifactId>spring-core</artifactId>
 30         <version>${spring.version}</version>
 31     </dependency>
 32     <dependency>
 33         <groupId>org.springframework</groupId>
 34         <artifactId>spring-context</artifactId>
 35         <version>${spring.version}</version>
 36     </dependency>
 37     <dependency>
 38         <groupId>org.springframework</groupId>
 39         <artifactId>spring-context-support</artifactId>
 40         <version>${spring.version}</version>
 41     </dependency>
 42     <dependency>
 43         <groupId>org.springframework</groupId>
 44         <artifactId>spring-tx</artifactId>
 45         <version>${spring.version}</version>
 46     </dependency>
 47     <dependency>
 48         <groupId>org.springframework</groupId>
 49         <artifactId>spring-aop</artifactId>
 50         <version>${spring.version}</version>
 51     </dependency>
 52     <dependency>
 53         <groupId>org.springframework</groupId>
 54         <artifactId>spring-beans</artifactId>
 55         <version>${spring.version}</version>
 56     </dependency>
 57     <dependency>
 58         <groupId>org.springframework</groupId>
 59         <artifactId>spring-jdbc</artifactId>
 60         <version>${spring.version}</version>
 61     </dependency>
 62 
 63     <!-- spring mvc jar -->
 64     <dependency>
 65         <groupId>org.springframework</groupId>
 66         <artifactId>spring-web</artifactId>
 67         <version>${spring.version}</version>
 68     </dependency>
 69     <dependency>
 70         <groupId>org.springframework</groupId>
 71         <artifactId>spring-webmvc</artifactId>
 72         <version>${spring.version}</version>
 73     </dependency>
 74     <dependency>
 75         <groupId>org.freemarker</groupId>
 76         <artifactId>freemarker</artifactId>
 77         <version>2.3.20</version>
 78     </dependency>
 79     
 80     <!-- mybatis 包 -->
 81     <dependency>
 82         <groupId>org.mybatis</groupId>
 83         <artifactId>mybatis</artifactId>
 84         <version>3.2.8</version>
 85     </dependency>
 86     <!--mybatis spring 插件 -->
 87     <dependency>
 88         <groupId>org.mybatis</groupId>
 89         <artifactId>mybatis-spring</artifactId>
 90         <version>1.2.2</version>
 91     </dependency>
 92     <!--sqlserver驱动包-->
 93     <dependency>
 94        <groupId>com.microsoft.sqlserver</groupId>
 95        <artifactId>sqljdbc4</artifactId>
 96        <version>3.0</version>
 97     </dependency>
 98
    <!-- mysql驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.29</version>
        </dependency>
 99     <!-- 导入java ee jar 包 -->
100     <dependency>
101         <groupId>javax</groupId>
102         <artifactId>javaee-api</artifactId>
103         <version>7.0</version>
104     </dependency>
105     
106     <!-- 日志文件管理包 -->
107     <!-- log start -->
108     <dependency>
109         <groupId>log4j</groupId>
110         <artifactId>log4j</artifactId>
111         <version>${log4j.version}</version>
112     </dependency>
113     
114     
115     <!-- 格式化对象,方便输出日志 -->
116     <dependency>
117         <groupId>com.alibaba</groupId>
118         <artifactId>fastjson</artifactId>
119         <version>1.1.41</version>
120     </dependency>
121 
122 
123     <dependency>
124         <groupId>org.slf4j</groupId>
125         <artifactId>slf4j-api</artifactId>
126         <version>${slf4j.version}</version>
127     </dependency>
128 
129     <dependency>
130         <groupId>org.slf4j</groupId>
131         <artifactId>slf4j-log4j12</artifactId>
132         <version>${slf4j.version}</version>
133     </dependency>
134     <!-- log end -->
135     
136     <dependency>
137         <groupId>org.apache.commons</groupId>
138         <artifactId>commons-dbcp2</artifactId>
139         <version>2.1</version>
140     </dependency>
147     
148     <!-- 阿里巴巴数据源包 -->
149     <dependency>
150         <groupId>com.alibaba</groupId>
151         <artifactId>druid</artifactId>
152         <version>1.0.9</version>
153     </dependency>
154   </dependencies>
188   <build>
189     <finalName>operate</finalName>
190   </build>
191 </project>

3.配置数据库连接属性

conf/ jdbc.properties(jdbc配置文件) 

SQLServver

url=jdbc:sqlserver://localhost:1433;DatabaseName=user
user=root password=root driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

MySQL

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydays?useUnicode=true&characterEncoding=utf-8
user=root
password=root

 

conf/spring-mybatis.xml(spring与mybatis连接属性)

<?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:aop="http://www.springframework.org/schema/aop"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:util="http://www.springframework.org/schema/util"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.2.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.2.xsd">
    
	<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
	    destroy-method="close" >
	    <property name="driverClassName">
	      <value>${driver}</value>
	    </property>
	    <property name="url">
	      <value>${url}</value>
	    </property>
	    <property name="username">
	      <value>${user}</value>
	    </property>
	    <property name="password">
	      <value>${password}</value>
	    </property>
	    <!-- 连接池最大使用连接数 -->
	    <property name="maxActive">
	      <value>20</value>
	    </property>
	    <!-- 初始化连接大小 -->
	    <property name="initialSize">
	      <value>1</value>
	    </property>
	    <!-- 获取连接最大等待时间 -->
	    <property name="maxWait">
	      <value>60000</value>
	    </property>
	    <!-- 连接池最大空闲 -->
	    <property name="maxIdle">
	      <value>20</value>
	    </property>
	    <!-- 连接池最小空闲 -->
	    <property name="minIdle">
	      <value>3</value>
	    </property>
	    <!-- 自动清除无用连接 -->
	    <property name="removeAbandoned">
	      <value>true</value>
	    </property>
	    <!-- 清除无用连接的等待时间 -->
	    <property name="removeAbandonedTimeout">
	      <value>180</value>
	    </property>
	    <!-- 连接属性 -->
	    <property name="connectionProperties">
	      <value>clientEncoding=UTF-8</value>
	    </property>
	</bean>
	     
	<!-- mybatis文件配置,扫描所有mapper文件 -->
	<bean id="sqlSessionFactory"
	    class="org.mybatis.spring.SqlSessionFactoryBean"
	    p:dataSource-ref="dataSource"
	    p:configLocation="classpath:conf/mybatis-config.xml"
	    p:mapperLocations="classpath:mapper/*.xml"/><!-- configLocation为mybatis属性 mapperLocations为所有mapper-->
	       
	<!-- spring与mybatis整合配置,扫描所有dao BasePackage dao包-->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
	       p:basePackage="com.operate.dao"
	       p:sqlSessionFactoryBeanName="sqlSessionFactory"/>
	  
	<!-- 对数据源进行事务管理 -->
	<bean id="transactionManager"
	      class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
	      p:dataSource-ref="dataSource"/>
</beans>

4.java代码编写

com.operate.dto/User.java

package com.operate.dto;

public class User {
	private String name;
	private String photo;
	public String getPhoto() {
		return photo;
	}
	public void setPhoto(String photo) {
		this.photo = photo;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

 com.operate.dao/UserDao.java

1 package com.operate.dao;
2 
3 import com.operate.dto.User;
4 
5 public interface UserDao {
6     public User getUser();
7 }

com.operate.service/UserService.java

1 package com.operate.service;
2 
3 import com.operate.dto.User;
4 
5 public interface UserService {
6     public User getUser();
7 }

com.operate.service.impl/UserServiceImpl.java

 1 package com.operate.service.impl;
 2 
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 import org.springframework.stereotype.Service;
 5 
 6 import com.operate.dao.UserDao;
 7 import com.operate.dto.User;
 8 import com.operate.service.UserService;
 9 
10 @Service
11 public class UserServiceImple implements UserService {
12 
13     @Autowired
14     private UserDao userDAO;
15     
16     @Override
17     public User getUser() {
18         // TODO Auto-generated method stub
19         return userDAO.getUser();
20     }
21 
22 }

5.mybatis配置

conf/mybatis-config.xml(mybatis配置的基本文件)

<?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>
 	<typeAliases>
 		<typeAlias type="com.operate.dto.User" alias="UserInfo"/>
	</typeAliases>
    <!-- 映射map -->
    <mappers>
    </mappers>
</configuration>

 mapper/sql-map-User.xml(mybatis的实现)

<?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="com.operate.dao.UserDao">
    <select id="getUser" resultType="UserInfo">
        SELECT 
            *        
     from Member where name=‘11111111‘

  </select> </mapper>

这样就基本完成了获取用户的功能!

6.junit测试功能

 1 package com.operate.test;
 2 
 3 import org.junit.Before;
 4 import org.junit.Test;
 5 import org.springframework.context.ApplicationContext;
 6 import org.springframework.context.support.ClassPathXmlApplicationContext;
 7 
 8 import com.operate.dto.User;
 9 import com.operate.service.UserService;
10 
11 public class UserTest {
12     private UserService userService;
13      @Before
14     public void before(){                                                                    
15         @SuppressWarnings("resource")
16         ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"classpath:conf/spring.xml"
17                 ,"classpath:conf/spring-mybatis.xml"});
18         userService = (UserService) context.getBean("userServiceImpl");//注意userServiceImpl 首字母要小写
19     }
20      
21     @Test
22     public void getUser(){
23         User user = userService.getUser();
24         System.out.println(user.getName()+":"+user.getPhoto());
25     }
26 }

 测试结果:

技术分享

7.SpringMVC搭建

Web.XML

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee"   
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 4          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
 5                              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
 6          version="2.5" >
 7   <display-name>Sheyou-Operate</display-name>
 8   <!-- 加载其他配置文件至Spring应用上下文中 -->
 9   <listener>
10       <listener-class>
11           org.springframework.web.context.ContextLoaderListener
12       </listener-class>
13   </listener>
14   <!-- 指定多个Spring配置文件  -->
15   <context-param>
16       <param-name>contextConfigLocation</param-name>
17       <param-value>
18           classpath:conf/spring.xml;
19           classpath:conf/spring-mybatis.xml
20       </param-value>
21   </context-param>
22   <!-- 字符集 过滤器  -->  
23   <filter>  
24       <filter-name>CharacterEncodingFilter</filter-name>  
25       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
26       <init-param>  
27           <param-name>encoding</param-name>  
28           <param-value>UTF-8</param-value>  
29       </init-param>  
30       <init-param>  
31           <param-name>forceEncoding</param-name>  
32           <param-value>true</param-value>  
33       </init-param>  
34   </filter>  
35   <filter-mapping>  
36       <filter-name>CharacterEncodingFilter</filter-name>  
37       <url-pattern>*.html</url-pattern>  
38   </filter-mapping>
39   
40   
41   <!-- Spring view分发器 -->
   <!-- servlet-name 决定了初始化的名字:name-servlet.xml --> 42 <servlet> 43 <servlet-name>dispatcher</servlet-name> 44 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 45 <init-param> 46 <param-name>contextConfigLocation</param-name> 47 <param-value>/WEB-INF/classes/conf/dispatcher-servlet.xml</param-value> 48 </init-param> 49 <load-on-startup>1</load-on-startup> 50 </servlet> 51 <servlet-mapping> 52 <servlet-name>dispatcher</servlet-name> 53 <url-pattern>/</url-pattern> 54 </servlet-mapping> 55 56 <welcome-file-list> 57 <welcome-file>index.jsp</welcome-file> 58 </welcome-file-list> 59 <error-page> 60 <error-code>400</error-code> 61 <location>/error/400.jsp</location> 62 </error-page> 63 <error-page> 64 <error-code>403</error-code> 65 <location>/error/403.jsp</location> 66 </error-page> 67 <error-page> 68 <error-code>404</error-code> 69 <location>/error/404.jsp</location> 70 </error-page> 71 <error-page> 72 <error-code>405</error-code> 73 <location>/error/405.jsp</location> 74 </error-page> 75 <error-page> 76 <error-code>406</error-code> 77 <location>/error/406.jsp</location> 78 </error-page> 79 <error-page> 80 <error-code>412</error-code> 81 <location>/error/412.jsp</location> 82 </error-page> 83 <error-page> 84 <error-code>500</error-code> 85 <location>/error/500.jsp</location> 86 </error-page> 87 <error-page> 88 <error-code>501</error-code> 89 <location>/error/501.jsp</location> 90 </error-page> 91 <error-page> 92 <error-code>502</error-code> 93 <location>/error/502.jsp</location> 94 </error-page> 95 <error-page> 96 <error-code>503</error-code> 97 <location>/error/503.jsp</location> 98 </error-page> 99 </web-app>

dispatcher-servlet.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"   
 3        xmlns:aop="http://www.springframework.org/schema/aop"   
 4        xmlns:context="http://www.springframework.org/schema/context"  
 5        xmlns:mvc="http://www.springframework.org/schema/mvc"   
 6        xmlns:tx="http://www.springframework.org/schema/tx"   
 7        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 8        xsi:schemaLocation="http://www.springframework.org/schema/aop   
 9         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
10         http://www.springframework.org/schema/beans   
11         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
12         http://www.springframework.org/schema/context   
13         http://www.springframework.org/schema/context/spring-context-3.0.xsd   
14         http://www.springframework.org/schema/mvc   
15         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd   
16         http://www.springframework.org/schema/tx   
17         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
18    
19     
20    <mvc:annotation-driven/>
21     
22    <context:component-scan base-package="com.operate.controller" />
23    
24    <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
25        <property name="prefix" value="/WEB-INF/views/" />  
26        <property name="suffix" value=".jsp" />
27    </bean> -->
28    
29    <bean id="viewResolver"  
30       class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
31         <!--<property name="prefix" value="/WEB-INF/view/" /> -->
32         <property name="suffix">  
33             <value>.ftl</value>  
34         </property>  
35         <property name="contentType" value="text/html;charset=UTF-8"></property>  
36    </bean>
37    <!-- freemarker的配置 -->
38    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
39      <property name="templateLoaderPath" value="/WEB-INF/view/ftl/" />
40       <property name="defaultEncoding" value="utf-8" />
41       <property name="freemarkerSettings">
42        <props>
43         <prop key="template_update_delay">10</prop>
44         <prop key="locale">zh_CN</prop>
45         <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
46         <prop key="date_format">yyyy-MM-dd</prop>
47         <prop key="number_format">#.####</prop>
48        </props>
49       </property>
50    </bean>
51    
52    <!-- 静态资源 -->
53    <!-- 图片 -->
54    <mvc:resources mapping="/images/**" location="/images/"
55         cache-period="31556926" />
56    <!-- js -->
57    <mvc:resources mapping="/js/**" location="/js/"
58         cache-period="31556926" />
59    <!-- css -->
60    <mvc:resources mapping="/css/**" location="/css/"
61         cache-period="31556926" />
66    <!-- <mvc:resources location="/qrcode/" mapping="//**" /> -->
67    <!-- 文件上传解析器 id 必须为multipartResolver -->
68    <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException -->
69    <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 -->
70    <bean id="multipartResolver" 
71          class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
72          <!-- <property name="maxUploadSize" value="10485760"/> -->
73    </bean>
74    
75    <!--定义异常处理页面-->
76 
77     <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
78         <property name="exceptionMappings">
79             <props>
80                 <prop key="java.sql.SQLException">exception</prop>
81                 <prop key="java.io.IOException">exception</prop>
82                 <prop key="java.lang.IOException">exception</prop>
83                 <prop key="Open Declaration com.google.zxing.WriterException">exception</prop>
84                 <prop key="java.lang.NullPointerException">exception</prop>
85             </props>
86         </property>
87     </bean>
88    
89 </beans>

spring.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <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="
 3 http://www.springframework.org/schema/beans
 4 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 5 http://www.springframework.org/schema/context
 6 http://www.springframework.org/schema/context/spring-context-3.0.xsd
 7 ">
 8 
 9     <!-- 引入属性文件 -->
10     <context:property-placeholder location="classpath:conf/jdbc.properties" />
11     <!-- 自动扫描(自动注入) -->
12     <context:component-scan base-package="com.operate.service" />
13 
14 </beans>

8.log4j日志记录

 1 ### set log levels ###
 2 #log4j.rootLogger = debug , stdout , D , E
 3 log4j.rootLogger = debug , stdout , D
 4  
 5 ###  output to the console ###
 6 log4j.appender.stdout = org.apache.log4j.ConsoleAppender
 7 log4j.appender.stdout.Target = System.out
 8 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
 9 #log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n
10 log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
11  
12 ### Output to the log file ###
13 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
14 log4j.appender.D.File = ../../WEB-INF/logs/log.log
15 log4j.appender.D.Append = true
16 log4j.appender.D.Threshold = DEBUG 
17 log4j.appender.D.layout = org.apache.log4j.PatternLayout
18 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
19  
20 ### Save exception information to separate file ###
21 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
22 log4j.appender.D.File = ../../WEB-INF/logs/error.log 
23 log4j.appender.D.Append = true
24 log4j.appender.D.Threshold = ERROR 
25 log4j.appender.D.layout = org.apache.log4j.PatternLayout
26 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

 9.测试

 WEB-INF/view/ftl/index.ftl(测试文件)

1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Insert title here</title>
5 </head>
6 <body>
7 <h1>欢迎你!!!${result}</h1>
8 </body>
9 </html>

com.operate/controller/IndexComtroller.java(controller层控制)

 1 package com.operate.controller;
 2 
 3 import javax.annotation.Resource;
 4 import javax.servlet.http.HttpServletRequest;
 5 import javax.servlet.http.HttpServletResponse;
 6 
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.servlet.ModelAndView;
10 
11 import com.operate.dto.User;
12 import com.operate.service.UserService;
13 
14 
15 @Controller
16 public class IndexController {
17     @Resource(name = "userService")
18     private UserService userService;
19     
20     @RequestMapping("/index.html")
21     ModelAndView index(HttpServletRequest request,HttpServletResponse response)
22     {
23         User user = userService.getUser();
24         return new ModelAndView("index")
25         .addObject("result", user.getName());
26     }
27 }

 

 

 

userServiceImpl.class 修改

 

 1 package com.operate.service.impl;
 2 
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 import org.springframework.stereotype.Service;
 5 
 6 import com.operate.dao.UserDao;
 7 import com.operate.dto.User;
 8 import com.operate.service.UserService;
 9 
10 @Service("userService")
11 public class UserServiceImpl implements UserService {
12 
13     @Autowired
14     private UserDao userDao;
15     
16     @Override
17     public User getUser() {
18         // TODO Auto-generated method stub
19         return userDao.getUser();
20     }
21 
22 }

 

部署到tomcat中

技术分享

浏览器中输入http://localhost:8080/operate/index.html

技术分享

参考博客

 

Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker) ----DawnHeaven

标签:

原文地址:http://www.cnblogs.com/dawnheaven/p/4774681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!