maven的SpringMVC项目(—)

使用Eclipse构建MavenSpringMVC项目

maven的好处:我感觉最主要就是自动下载jar包和它所依赖的包,这样可以保证了多人开发时jar版本不同的问题。再就是文件结构清晰,java文件,资源文件,测试文件都分的很清楚。

一、 直接建立Maven项目方法

1.1      选择建立Maven Project

选择File-> New -> Other,在New窗口中选择 Maven-> Maven Project。点击newxt

   1.2 选择项目路径

Use default Workspace location默认工作空间。

1.3 选择项目类型

在Artifact Id中选择maven-archetype-webapp

                             

1.4 输入Group ID和 Artifact ID,以及Package

GroupID一般写大项目名称。Artifact ID是子项目名称。

例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。

Package是默认给你建一个包,不写也可以。

 

1.5 刚建立好后的文件结构如下图

2      在pom.xml中添加所需要的jar

使用MavenPOM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring。将spring包全部添加进来。需要添加的其他jar包有:junitjstl。或者点击pom.xml直接编辑pom.xml文件。这样可以直接copy过来dependencies内容

2.1  设置jar包的scope

当添加进入一个jar包后,有一些属性需要设置,最重要的就是scope,它有以下几种取值:

1.compile,缺省值,适用于所有阶段,会随着项目一起发布。

2.provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。

3.runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。

4.test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。

5.system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

3、构建SpringMVC框架

4.1 编辑web.xml文件

需要添加log4j字符过滤Spring的dispatcher

webx.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

            version="2.5" >

      

       <!--区分项目名称,防止默认重名 -->

       <context-param>

              <param-name>webAppRootKey</param-name>

              <param-value>maven.example.root</param-value>

       </context-param>

 

       <!-- Springlog4j监听器 -->

       <listener>

       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-clas>

       </listener>

 

       <!-- 字符集过滤器  这是一个过滤器,把所有的字符都转化成UTF-8   -->

       <filter>

              <filter-name>CharacterEncodingFilter</filter-name>

       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-clas>

              <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>CharacterEncodingFilter</filter-name>

              <url-pattern>/*</url-pattern>

       </filter-mapping>

 

       <!--  Spring view分发器  -->

       <servlet>

              <servlet-name>dispatcher</servlet-name>

              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-clas>

              <init-param>//声明spring的配置文件的位置

                     <param-name>contextConfigLocation</param-name>

                     <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>

              </init-param>

              <load-on-startup>1</load-on-startup>

       </servlet>

       <servlet-mapping>//拦截的url

              <servlet-name>dispatcher</servlet-name>

              <url-pattern>*.do</url-pattern>

       </servlet-mapping>

 

</web-app>

 

4.2 编写Spring配置文件dispatcher-servlet.xml

如要添加MVC驱动、注解检测、视图解析等。dispatcher-servlet.xml代码如下:

<?xml version="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

      xmlns:aop="http://www.springframework.org/schema/aop"

      xmlns:context="http://www.springframework.org/schema/context"

      xmlns:mvc="http://www.springframework.org/schema/mvc"

      xmlns:tx="http://www.springframework.org/schema/tx"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xsi:schemaLocation="http://www.springframework.org/schema/aop

       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

       http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

       http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context-3.0.xsd

       http://www.springframework.org/schema/mvc

       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

       http://www.springframework.org/schema/tx

       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

 

    <mvc:annotation-driven/>   //驱动

    //注解检测,指定包下的所有文件

    <context:component-scanbase-package="liming.maven.example" />

    <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">

       <propertyname="prefix" value="/WEB-INF/views/" />

       <propertyname="suffix" value=".jsp" />

    </bean>

 

</beans>

 

4.3 编写一个Controller层测试类

编写一个SpringMVC的Controller层测试类。此类只有一个方法做地址映射,并向页面传递一个数据。代码如下

package liming.maven.example.view;

importorg.springframework.stereotype.Controller;

import org.springframework.ui.Model;

importorg.springframework.web.bind.annotation.RequestMapping;

 

@Controller

public class GeneralController {

 

         @RequestMapping(value="index.do")                  //url

         publicvoid index_jsp(Model model){

                   model.addAttribute("liming","黎明你好");

                   System.out.println("index.jsp");

         }

}

4.4编写index.jsp页面

首先在src/main/webapp/WEB-INF下建文件夹views。此处和dispatcher-servlet.xml配置文件中的prefix属性路径要一样

在views下建index.jsp文件

我们使用jstl获取Controlleradd的数据。

Jsp页面代码如下:

<%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>

<%@taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<html>

         <head>

                   <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">

                   <title>Inserttitle here</title>

         </head>

        

         <body>

                   <c:out value="${liming}"></c:out>

         </body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值