springMVC入门-01

这一系列是在看完网上SpringMVC(基于spring3.0)入门视频之后的个人总结,仅供参考,其中会添加一些个人的见解。

1、搭建SpringMVC所需jar包:

org.springframework.aop-3.1.3.RELEASE.jar
org.springframework.asm-3.1.3.RELEASE.jar
org.springframework.aspects-3.1.3.RELEASE.jar
org.springframework.beans-3.1.3.RELEASE.jar
org.springframework.context.support-3.1.3.RELEASE.jar
org.springframework.context-3.1.3.RELEASE.jar
org.springframework.core-3.1.3.RELEASE.jar
org.springframework.expression-3.1.3.RELEASE.jar
org.springframework.instrument.tomcat-3.1.3.RELEASE.jar
org.springframework.instrument-3.1.3.RELEASE.jar
org.springframework.jdbc-3.1.3.RELEASE.jar
org.springframework.jms-3.1.3.RELEASE.jar
org.springframework.orm-3.1.3.RELEASE.jar
org.springframework.oxm-3.1.3.RELEASE.jar
org.springframework.test-3.1.3.RELEASE.jar
org.springframework.transaction-3.1.3.RELEASE.jar
org.springframework.web.portlet-3.1.3.RELEASE.jar
org.springframework.web.servlet-3.1.3.RELEASE.jar
org.springframework.web.struts-3.1.3.RELEASE.jar
org.springframework.web-3.1.3.RELEASE.jar
commons-logging-1.1.1.jar

2、web.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 id="WebApp_ID" version="2.5">

<!--默认加载hello-servlet.xml文件中的bean-->
 <servlet>
  <servlet-name>hello</servlet-name>

  <!--声明拦截器为spring的dispatcherservlet-->
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>hello</servlet-name>

  <!--拦截所有url-->
  <url-pattern>/</url-pattern>
 </servlet-mapping>
</web-app>

3、hello-servlet配置文件

  因为在web.xml配置文件中添加了拦截器,契约优先使用servlet-name为hello的hello-servlet.xml文件加载配置bean,也可以不使用默认的hello-servlet.xml配置文件,使用init-param子节点来加载配置bean,此处不详述。

  方式一使用annotation注解方式实现:

  <context:component-scan base-package="zttc.itat.controller"/>
     <mvc:annotation-driven/>

  方式二使用bean方式实现:

  <bean name="/welcome.html" class="zttc.itat.controller.WelcomeController"/>

  使用InternalResourceViewResolver类来指定页面跳转的前缀后缀路径。

<?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:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

<!--加载bean,映射请求方式一:使用annotation方式加载(常用)-->
    <context:component-scan base-package="zttc.itat.controller"/>
    <mvc:annotation-driven/>

    <!--加载bean,映射请求方式二:使用InternalResourceViewResolver(不常用)-->
    <bean name="/welcome.html" class="zttc.itat.controller.WelcomeController"></bean>

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

</beans> 

4、编写controller逻辑代码,因为在hello-servlet.xml文件中声明了两种映射请求的方法,因此在这里使用两个controller用以区分不用的方式:

方式一对应代码:

package zttc.itat.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class WelcomeController extends AbstractController {

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {
        return new ModelAndView("welcome");
    }

}

方式二对应代码:

package zttc.itat.controller;

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

@Controller
public class Hellocontroller{

    @RequestMapping("/hello")
    public String hello()
    {
        return "hello";
    }

}

以上两种方式会实现页面的映射,对应通过new一个ModelAndView("welcome")方式实现会在浏览器输入url:http://localhost:8080/springMVC001/welcome.html之后(welcme.html为在hello-servlet.xml配置文件中那个指定的标识符)跳转到以/WEB-INF/jsp/为前缀,以jsp为后缀,文件名为welcome,即/WEB-INF/jsp/welcome.jsp;对应通过annotation注解方式实现会在浏览器输入url:http://localhost:8080/springMVC001/hello之后(/hello为在代码中使用@RequestMapping("/hello")方式指定的标识符)跳转到/WEB-INF/jsp/hello.jsp页面。

附注:对应工程结构如下图所示:

时间: 2024-10-26 17:57:05

springMVC入门-01的相关文章

Spring-MVC入门实例 (一)

Spring MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了.Spring MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. Struts2 VS  Spring MVC Struts2  特点 也是比较优秀的MVC构架,优点非常多比如良好的结构.但这里想说的是缺点,Struts2由于采用了值栈.OGNL表达式.struts2标签库等,会导致应用的性能下降.Struts2的多层拦截器.多实例action性能都很好

框架 day68 SpringMVC入门(框架原理,springmvc和mybatis整合)

第一天:注解开发基础(springmvc入门) springmvc框架原理(掌握) DispatcherServlet前端控制器.HandlerMapping处理器映射器.HandlerAdapter处理器适配器.ViewResolver视图解析器 springmvc入门程序 目标:加深对springmvc三大组件的认识 查询商品信息 重点掌握注解的HandlerMapping处理器映射器.HandlerAdapter处理器适配器(掌握) springmvc和mybatis整合(掌握) 通过一个

springMVC入门案例

1.配置文件的web.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.co

SpringMVC入门

介绍 SpringMVC是一款Web MVC框架. 它跟Struts框架类似,是目前主流的Web MVC框架之一. 本文通过实例来介绍SpringMVC的入门知识. 实例 本文所写的实例是一个员工的CRUD demo. 用idea编写,基于maven, Web框架使用SpringMVC,视图采取Freemarker技术,数据库使用MySQL,用Hibernate4存储数据. 本文关于其他一些内容 如maven的pom文件内容,spring常规bean,事务,数据源的配置等不会详细描述,可自行下载

springmvc入门之HelloWorld篇

springmvc是一个基于spring的mvc框架,各种优点啥的用过就知道了.下面开始讲HelloWorldController的实现. 1.开发环境搭建<导jar包+配置文件> 1.1 新建web工程springmvc,导入springmvc所需的jar包,因为springmvc是基于spring的,所以必须包含spring的jar包,我用的版本是spring3.1.0.导入以下jar包: 1.2 配置web.xml <!-- spring mvc配置 处理*.action和*.do

2017-5-23 SpringMVC入门(一)

2017-5-23 SpringMVC入门(一) SpringMVC Maven Java 1.依赖引入 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap

springMVC课程01

springMVC 一.springMVC体系介绍: 1.javaee体系结构: 2.为什么要使用MVC开发模式? 主要就是为了:解耦和 很多应用程序的问题在于处理业务数据和显示业务数据的视图的对象之间存在紧密耦合.通常,更新业务对象的命令都是从视图本身发起的,使视图对任何业务对象更改都有高度敏感性.而且,当多个视图依赖于同一个业务对象时是没有灵活性的. Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将

SpringMVC入门之注解式控制器

上面一篇写的是配置式的控制器现在已经不推荐使用了,其实注解式控制器和它的差不多只不过 更简洁而已! 1.还是在web.xml中进行配置DispatcherServlet <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-para

SpringMVC 入门教程知识

SpringMVC 入门知识 一.SpringMVC入门介绍 springMVC代替struts2去整合hibernate实现功能的框架.使用springMVC有两个配置文件需要配置,一 个是applicationContext.xml.另一个是web.xml,在applicationContext.xml里面配置事务管理器以及属性注入等.web.xml里面要添加一个springMVC的servlet的注册和映射(DispatcherServlet),这个servlet是 springMVC的核