Spring MVC 搭建

  撸代码搬砖也有几年了,期间用的基本是ssh或者替换一下持久层用mybatis之类的,Spring MVC也用过,但当时也没啥感觉,反正就是领导下来任务,老子把它代码撸完了事儿。近期工作略有闲暇,碌碌之余便想重新复习一下Spring相关知识,加深一下对架构层次的理解。

  废话不多说,开撸:

     第一步,打开idea,File—>new Project,选择Web Application跟Spring MVC,

     

  如果已经有工作空间,可以直接new module,选择好一直next最后会下载相关jar包,下载完后会是初始的目录,下载完之后是这么个东东:

     

  

  有配置上下文的applicationContext.xml跟我们Spring MVC用的dispatcher-servlet.xml,而且已经在web.xml里配好了,好牛b的工具!!

  web程序入口就是web.xml嘛,这servlet-mapping就是说什么类型的url要给我处理,本程序用的是*.html,拦截了之后给谁处理呢,servlet-name叫dispatcher的那个servlet,具体是谁呢,就是servlet-class对应的那个啦。这个ContextLoaderListener是用来加载applicationContext的内容的,因为它实现了ServletContextListener这个接口,启动容器时,就会默认执行它实现的方法。至于applicationContext.xml这个配置文件部署在哪,context-param标签内会有描述。

  蛋蛋这样肯定是不行的了,我们需要说明action跟jsp怎么映射,所以dispatcher-servlet.xml里边,这个就是必须的了:

<!-- ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

  现在spring推荐大家用注解,不要再那么一堆配置文件了,我们也顺应潮流,配置扫描的包:

<!-- 注解自动扫描的包 -->
<context:component-scan base-package="main" />

  启用mvc:

<mvc:annotation-driven/>

  接下来开始撸action:

package test;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloAction {

    @RequestMapping(value="/hello.html") 
    public String Hello(){
        System.out.println("action进入");
        return "addresslist";
    }

}

  写一个addresslist.jsp,放到web-inf/jsp/文件夹下。

  配置tomcat,点击右上角的editConfigurations:

  

  然后点击“+”选择tomcat server-->local

  

  name就是我们给tomcat取的名字,点击configure会弹出application servers页面,这里是让我们配置tomcat具体路径的,配完点击确定。配置浏览器跟服务端口号,然后在deplayment页点击“+”号,添加我们要部署的项目。

  

  启动,访问http://localhost:8080/hello.html

   

  这就勉强算是结束了吧,大概总结一下:

  步骤:

  1、  用idea建web的spring mvc项目,下载相关jar包

  2、  修改web.xml拦截*.html的url

  3、  在dispatcher-servlet.xml配置自动扫描的包路径以及<mvc:annotation-driven/>

    告诉spring采用注解驱动的方式进行url路由解析

    配置ViewResolver视图解析

  4、  写action以及jsp,部署访问

  需要注意的:

  1、  部分jar包可能不全,比如jstl.jar之类,根据报错添加即可

  2、  配置文件命名空间缺失,需要手动添加

    spring的xml最基础的为bean标签,在命名空间http://www.springframework.org/schema/beans中定义,

    若某个xml需要添加某个标签,只需在beans中声明此标签的命名空间xmlns=""即可。标签的具体写法由xsi中的xsd文件规定。

  先结了吧,只是一个类似于helloworld的东西,后续会稍微添加一点功能,让它看上去有点像那么回事儿。

 

posted @ 2015-07-14 11:38  facelessvoidwang  阅读(325)  评论(0编辑  收藏  举报