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页面。
附注:对应工程结构如下图所示:

springMVC入门-01的更多相关文章
- SpringMVC札集(01)——SpringMVC入门完整详细示例(上)
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- 【Spring】SpringMVC入门示例讲解
目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...
- SpringMVC入门第二天
SpringMVC第二天 1. 回顾 1.Springmvc介绍? Springmvc是Spring公司 2.Springmvc入门程序 第一步:Web工程 第二步:导Jar包 第三步:web.x ...
- SpringMVC.入门篇《二》form表单
SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...
- SpringMVC.入门篇.一.HelloWorld
SpringMVC.入门篇<一>HelloWorld 项目包结构如下: HelloController.java 代码 package com.charles.controller; im ...
- SpringMVC入门(基于注解方式实现)
---------------------siwuxie095 SpringMVC 入门(基于注解方式实现) SpringMVC ...
- SpringMVC入门(基于XML方式实现)
----------------------siwuxie095 SpringMVC 入门(基于 XML 方式实现) (一)搭建 SpringMVC 环境 1.先下载相关库文件,下载链接: (1)ht ...
- 不用搭环境的10分钟AngularJS指令简易入门01(含例子)
不用搭环境的10分钟AngularJS指令简易入门01(含例子) `#不用搭环境系列AngularJS教程01,前端新手也可以轻松入坑~阅读本文大概需要10分钟~` AngularJS的指令是一大特色 ...
随机推荐
- JavaScript设计模式(三) - 策略模式
什么是策略模式? 策略模式支持在运行时由使用者选择合适的算法,对于使用者而言不用关心背后的具体实现,由使用者自动根据当前程序执行的上下文和配置,从已有的算法列列表中选择出合适的算法来处理当前任务. ...
- 为apache提供sftp文件传输服务
一.安装apache yum install httpd 二.为 /var/www/html 创建ftp账号www useradd -M -d /var/www/html www 三.更改ssh配置文 ...
- php 判断字符串之间包含关系
之前常用stristr , strpos判断. 因为处理1000W * 1000W级别,循环就是漫长漫长... 在此,对stristr, strpos, explode判断字符串包含关系处理速度对比 ...
- Java网络编程(二)关于Socket的一些个人想法
1.Socket之间是如何通信的? 1.1 通信是要两两之间进行的所以应该有至少一个客户端(Client)和一个服务器端(Server),一般来说都是多个c端对一个s端---c\s 1.2 在客户端: ...
- *2.2.4 加入virtual interface
在前几节的例子中,driver中等待时钟事件(@posedge top.clk).给DUT中输入端口赋值(top.rx_dv <= 1' b1)都是使用绝对路径,绝对路径的使用大大减弱了验证平台 ...
- HTTPS 使用成本
HTTPS 目前唯一的问题就是它还没有得到大规模应用,受到的关注和研究都比较少.至于使用成本和额外开销,完全不用太过担心. 一般来讲,使用 HTTPS 前大家可能会非常关注如下问题: 证书费用以及更新 ...
- select2插件改造之设置自定义选项 源码
改造特性: 适应业务需要,选项里面包含“其他”其它”,可以点击填写并设置自定义选项 效果图: 具体代码不做阐述,如有类似需求,请私信.主要源码: /* Copyright 2012 Igor Vayn ...
- [转]高品质开源工具Chloe.ORM:支持存储过程与Oracle
本文转自:http://www.cnblogs.com/so9527/p/6131177.html 扯淡 这是一款高质量的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq.借助 lamb ...
- SQL Serever学习13——数据库编程语言
编程基础 注释 注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行. 单行注释 SELECT GETDATE() --查询当前日期 多行注释 /* 注释有助于 理解操作的内容 查 ...
- NPOI创建Excel批注
var hssfWorkbook = new HSSFWorkbook(); var sheet = hssfWorkbook.CreateSheet(); var patr = sheet.Crea ...