首页 > 代码库 > 用Eclipse建spring mvc项目(图解)

用Eclipse建spring mvc项目(图解)

最近工作需要快速了解spring mvc架构,于是在网上找了很多相关教程。说真的,百度出来的基本都一样,但是我却遇到各种奇奇怪怪的问题。当然,做完之后回头看,发现那些问题都不是问题,哈哈哈哈~主要还是不懂java这些东西,遇到问题的时候就会觉得很难,各种查,但是百度的结果又是让人很无奈,不同的网址,相同的内容!技术分享

我参考了一个博客来建项目,网址是:http://limingnihao.iteye.com/blog/830409。按照这个博客的流程创建了项目,但是由于实际情况的不同,中间还是有一些不一样的。

下面我把我用到的相关软件版本列一下,虽然我不知道这些有什么关系,但是,还是列一下吧,技术分享哈哈哈~~

技术分享技术分享

因为不知道列哪些,所以就把这些都截了个图技术分享,只知道要用jdk,maven,tomcat,和java编译器(如eclipse)

现在开始建项目

1、创建一个maven项目

 技术分享

图1


技术分享

图2


技术分享

图3(第一个复选框一定要框,反正我这里不选就是错~)


技术分享

图4(Packaging选择war。反正我之前选jar就有问题了)


技术分享

图5(红框中显示的不是我想要的,需要修改,右击它,选择“Build Path” ==>“ConfigureBuild Path”)

技术分享

图6

技术分享

图7(不知道为什么选这个,只是之前看同事选了这个。)

技术分享

图8

技术分享


图9


到这一步,已经算是建好了一个mave项目。我们现在来配置一些东西。

2、配置pom.xml(可以直接添加到pom.xml里面,配置一些七七八八的东西。junit、jstl、 spring包

<dependencies>
  		<!-- junit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12-beta-3</version>
			<scope>test</scope>
		</dependency>
		<!-- log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		
  		<!-- spring 的基本依赖 开始 -->

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>4.1.2.RELEASE</version>
		</dependency>
		<!-- spring 的基本依赖 结束 -->
  </dependencies>

3、在webapp下添加一个文件夹“WEB-INF”,在文件夹下添加一个文件“web.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/javaee http://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>  
  
    <!-- Spring的log4j监听器 -->  
    <listener>  
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
    </listener>  
  
    <!-- 字符集 过滤器  -->  
    <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>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><span style="color:#ff6666;">dispatcher0121</span></servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <init-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>/WEB-INF/<span style="color:#ff6666;">dispatcher0121</span>-servlet.xml</param-value>  
        </init-param>  
        <load-on-startup>1</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name><span style="color:#ff6666;">dispatcher0121</span></servlet-name>  
        <url-pattern>*.do</url-pattern>  
    </servlet-mapping>  

</web-app>
web.xml文件里有几个值得注意的地方,上面标红的“dispatcher0121”可以修改为你想要的字符串,但是这个三个地方一定要一样。[servlet-name]+“-servlet.xml”这个是spring配置文件的文件名的命名规则。

4、在“webapp/WEB-INF/”下再添加一个文件“dispatcher0121-servlet.xml”,这个文件就是上面说的东西(可以全部复制到新建的文件中)

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="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-scan base-package="<span style="color:#ff6666;">example0121</span>" />  
  
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value=http://www.mamicode.com/"/WEB-INF/views/" />  >
dispatcher0121-servlet.xml文件中也有要注意的地方,"example0121"这个是接下来会用的包,名字可以随意,但是不能全部是数字。我不想说,我就是偷懒用数字,导致之前建的项目一直有问题。技术分享

技术分享

图10

5、创建一个Controller层测试类(这个是什么东西,我也不知道。只知道怎么操作)


技术分享

图11

按照这个操作,可以添加包也可以添加类,先添加类,要是发现在包那里没有写“example0121”,那就取消,然后添加一个包,包的名字是“example0121”。然后再创建一个叫“GeneralController”的类。

技术分享

图12

然后将代码写好,像下面一样

package example0121;

import org.springframework.stereotype.Controller;  
import org.springframework.ui.Model;  
import org.springframework.web.bind.annotation.RequestMapping;  
  
@Controller  
public class GeneralController {  
  
    @RequestMapping(value=http://www.mamicode.com/"index.do")  >
6、编写jsp页面。在“webapp/WEB-INF/”下添加一个文件夹“views”,再添加一个文件“index.jsp”。这个路径是在“dispatcher0121-servlet.xml”里面定下来的。

<%@ 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//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>Insert title here</title>  
    </head>  
      
    <body>  
        <c:out value=http://www.mamicode.com/"${str0121}">  > 这个时候你可以看到你的工程出现红色的叉叉,报了个错,如图13。这个时候你要淡定,两种方法。一是无视它,二是删掉这个错。我选择了无视它,我因为这个错查了好久资料,莫名烦躁,试了网上说的方法,还是不行。最后问了同事,同事说,你运行一下可不可以用。我运行了项目,发现可以用。然后同事说,那就无视它。似乎好像是校验的问题,反正现在不影响。one or two?!

技术分享

图13

7、运行

技术分享

图14

技术分享

图15

技术分享

图16

技术分享

图17

技术分享

图18


现在算是创建好了项目。要开始深层次的探讨了技术分享技术分享技术分享

用Eclipse建spring mvc项目(图解)