spring-mvc hello world (1)

我学习一个程序,都是从DEMO开始的。

先不了解SPRING-MVC的原理,但一些小的概念还是需要了解的。由于之前有过SSH的工程经验,故基本的东东,不在叙述。

 

1、准备环境

    JAR包: 红色的这几个。PS:之前忘记写了,我整合的mybatis和mysql,故JAR包比较多

2、JRE环境。

     这个需要注意,好像这个版本的SPRING不支持1.8 。我的是1.7的环境。由于之前升级到1.8但是出问题后,又降到1.7了。

 

3、编写spring-mvc.xml配置文件

  如下代码,里面有具体的说明,不再一一叙述

 

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

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

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

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

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

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

  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/mvc

    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

    

    <!-- 扫描controller(controller层注入) -->

<!--    <context:component-scan base-package="com.demo.controller"/> -->

             <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射 -->

    <mvc:annotation-driven />

    <!-- 启动包扫描功能,以便注册带有@Controller、@Service、@repository、@Component等注解的类成为spring的bean -->

    <context:component-scan base-package="com.demo.*" />

    

   <!-- 配置返回值json -->

   <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

           <property name="messageConverters">

               <list>

                   <ref bean="jacksonMessageConverter"/>

               </list>

           </property>

   </bean>

   <!-- 避免IE在ajax请求时,返回json出现下载 -->

   <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">        

        <property name="supportedMediaTypes">

            <list>

                <value>text/html;charset=UTF-8</value>

                <value>application/json;charset=UTF-8</value>

            </list>

        </property>

    </bean>

    

   <!-- 对模型视图添加前后缀 -->

     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" 

      p:prefix="/WEB-INF/jsps/" p:suffix=".jsp"/>

   

   <!-- 输入参数类型支撑 -->

   <mvc:annotation-driven>

        <mvc:message-converters>

            <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>

            <bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/>

            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>

        </mvc:message-converters>

    </mvc:annotation-driven>



</beans>

 

4、一切从WEB.XML文件开始

  在WEB.XML文件中加入

 

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

    <!-- 配置spring核心servlet -->

    <servlet>

        <servlet-name>spring</servlet-name>

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

            <init-param>

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

            <param-value>classpath:config/application/spring-mvc.xml</param-value>

        </init-param>

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

    </servlet>

    

    <!-- url-pattern配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问 -->

    <servlet-mapping>

        <servlet-name>spring</servlet-name>

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

    </servlet-mapping>

 

注意路径

 

5、后台代码部分

  需要一个controller,我这边都是采用注释

源码为:

@Controller

public class IndexAction {



   /// @Autowired

   // private UserService userService;

    

    @RequestMapping("/index")

    public String index()

    {

       // LogTool.Logtool(IndexAction.class).error("Hello world.");//这里可以注释掉

       // User user=userService.checkLogin("1", "1");//

       // System.out.println(user);//

        return "/index11";

    }

}    

 

一个界面:

 

6、运行测试

    浏览器中输入:http://localhost:8080/Spring-mvc/index

    成功!

 

你可能感兴趣的:(Hello world)