第二章Hello World-跟赵大笨笨学SpringMVC
来源:互联网 发布:access连接sql server 编辑:程序博客网 时间:2024/06/08 03:47
一.新建一个动态web工程。
大笨用的myeclipse,eclipse其实是一样的。
右键->New—>Other->Web->Dynamic Web Project
二.导入jar
我们基于Spring mvc框架进行开发,需要依赖一下的spring jar包:
- spring-aop-4.0.4.RELEASE.jar
- spring-beans-4.0.4.RELEASE.jar
- spring-context-4.0.4.RELEASE.jar
- spring-core-4.0.4.RELEASE.jar
- spring-expression-4.0.4.RELEASE.jar
- spring-web-4.0.4.RELEASE.jar
- commons-logging-1.1.1.jar(用来打印log)
把上面的jar包copy进/WebContent/WEB-INF/lib下面就可以,没有lib文件的自己新建一个。
三.配置web.xml
web.xml是任何一个web工程的入口,我们当然也要先从这里入手。
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet
既然SpringMVC是基于DispatcherServlet的,那么我们先来配置一下DispatcherServlet
<!-- 前端控制器的配置 DispatchcerServlet--> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置Spring mvc下的配置文件的位置和名称 --> <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml --> <!-- <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> 默认 </init-param> --> <!-- load-on-startup:表示启动容器时初始化该Servlet; --> <load-on-startup>1</load-on-startup> </servlet>
6行代码就这么简单,我们配置完DispatcherServlet是不是应该告诉它哪些请求交给Spring Web MVC处理?那再加4行来实现。
<servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern></servlet-mapping>
“/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。
OK我们的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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>spring</display-name> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
四.配置【servlet-name】-servlet.xml
<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 设置使用注解的类所在包 会自动扫描 我一会要把类写在这个包下--> <context:component-scan base-package="com.spring.action"></context:component-scan> <!-- 视图解析器 对转向页面的路径解析。prefix:前缀, suffix:后缀--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name = "prefix" value="/WEB-INF/views/"></property> <property name = "suffix" value = ".jsp"></property> </bean></beans>
五.controller
// 在类的前面添加Controller注解,表示是spring的控制器@Controllerpublic class HelloWorld { // 请求url地址映射 @RequestMapping 是用于匹配请求的路径 @RequestMapping("/hello") public String hello(){ System.out.println("hello world"); // 返回值会通过视图解析器解析为实际的物理视图, 对于InternalResourceViewResolver视图解析器,会做如下解析 // 通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作 // "/WEB-INF/views/success.jsp" return "success"; }}
@RequestMapping是用来映射请求的,什么get请求,post请求都可以。
这个@RequestMapping不仅可以加在方法上,也可以加在类型。注意要加在@Controller上面才好用。
六.新建jsp,启动Tomcat并访问
上面既然访问success.jsp,我们就去/WEB-INF/views/下面件success.jsp
<body>hello world</body>
我们在eclipse中配置完tomcat将我们新建的工程添加进去,并且启动服务。因为 @RequestMapping(“/hello”),我们直接访问http://localhost:8080/spring/hello spring是我的工程名。
就会调用 hello()方法,并展示success.jsp
补充:
@RequestMapping可以实现模糊匹配路径,比如:
?:匹配一个字符
*:匹配任意字符
**:匹配多层路径
发一下我的工程
- 第二章Hello World-跟赵大笨笨学SpringMVC
- 第二章 出发"Hello World"
- 【C++】第二章:Hello World!
- springMVC学习(hello world)
- springmvc之hello world
- Springmvc Hello World
- 01-SpringMVC Hello,World
- SpringMVC之Hello World
- SpringMVC实现Hello World
- springmvc入门 hello,world
- SpringMVC --hello world
- SpringMVC的Hello World
- AutoCAD.NET:第二章 Hello World
- 第二章 :Hello World 应用程序详解
- 跟Android说Hello World
- 跟Android说Hello World
- springmvc + freemarker 实现hello-world
- SpringMVC项目一Hello World
- Gradle配置签名问题解决
- 虚拟机的封装
- 《大话数据结构》学习笔记--chapter 5
- 求取两个数的最大公约数
- 单列模式读取properties配置文件
- 第二章Hello World-跟赵大笨笨学SpringMVC
- java处理百度编辑器ueditor上传的图片等多媒体文件
- 素数筛选及优化
- 遍历二叉树
- [深度探索C++对象模型]trival constructor和non-trival constructor
- JVM G1收集器
- Python单例模式父类
- 使用vue路由做出一个可以切换的demo
- Android NDK编译librtmp 三重奏 -- (一)编译zlib