Spring MVC (一) - HelloWorld
来源:互联网 发布:什么是java分布式 编辑:程序博客网 时间:2024/05/23 15:39
最近,可能会用到Spring MVC,特来学习一下。
首先,在网上找了些例子,总结一下。
1.新建Maven的Web项目
具体的操作步骤,可以参照关于Maven的博客。
2.pom.xml
<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.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.ygy.mvc</groupId><artifactId>mvc-helloworld</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>mvc-helloworld Maven Webapp</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.version>3.1.1.RELEASE</spring.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency> <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>3.1.1.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency> </dependencies><build><finalName>mvc-helloworld</finalName></build></project>
这里引入了一个sping-webmvc,这是以前没有用过的;这里还需要引入jstl,要不然访问时会报错。
3.web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>helloworld</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
这里配置了一个Servlet,这个就是SpringMVC的核心控制器;默认情况下,配置了这个Servlet,还需要在WEB-INF下有一个和servlet-name一致的配置文件
${servlet-name}-servlet.xml,这里面配置了控制器。
4.helloworld-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"><!-- HandlerMapping --><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /><!-- HandlerAdapter --><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /><!-- 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> </beans>其实,这些类是干嘛的,现在我也不太清楚,这个以后明白了,会在博客中分享的。现在的目的是,跑通一个SpringMVC的程序。
这里的ViewResolver,配置了一些返回页面的位置和后缀名。
5.HelloWorldController
package org.ygy.mvc.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class HelloWorldController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {System.out.println("-----OK");// 1、收集参数、验证参数// 2、绑定参数到命令对象// 3、将命令对象传入业务对象进行业务处理// 4、选择下一个页面ModelAndView mv = new ModelAndView();// 添加模型数据 可以是任意的POJO对象mv.addObject("message", "路飞");// 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面mv.setViewName("hello");return mv;}}
修改helloworld-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"><!-- HandlerMapping --><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /><!-- HandlerAdapter --><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /><!-- 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> <!-- 处理器 --> <bean name="/hello" class="org.ygy.mvc.action.HelloWorldController" /> </beans>
6.hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Hello Spring MVC</title></head><body>Hello , MVC!<br/><%=request.getAttribute("message") %><hr/>${message }</body></html>
这里还有一个问题,参照的例子中,可以使用EL表达式,我这里显示不出来,暂时 不知道为什么,以后知道了,会分享一下。
结果界面:
7.致谢
参照的博客,感谢分享:
http://jinnianshilongnian.iteye.com/blog/1594806
http://www.linuxidc.com/Linux/2012-09/70638.htm
- Spring MVC (一) - HelloWorld
- Spring MVC 学习笔记(一):HelloWorld
- Spring MVC 入门指南(一):HelloWorld
- Spring MVC 入门指南(一):HelloWorld
- Spring MVC学习笔记(一)---Spring MVC 的HelloWorld
- spring mvc helloworld
- Spring MVC之HelloWorld
- spring mvc helloworld
- spring mvc HelloWorld
- Spring MVC HelloWorld-Controller
- Spring MVC HelloWorld-AbstractController
- Spring MVC HelloWorld实现
- Spring MVC Helloworld
- Spring MVC 4 HelloWorld
- Spring MVC之 HelloWorld
- Spring MVC HelloWorld
- Spring Mvc之HelloWorld
- Spring mvc HelloWorld
- Linux 学习之进程列表符号对应含义
- 网页代码常用小技巧总结续,网页制作学习
- 死锁
- 浅谈部分搜索引挚对数字域名的"歧视"
- poj1273(网络流最大流 EK算法&&dinic算法)
- Spring MVC (一) - HelloWorld
- hdu1175- 连连看BFS
- Rect类
- [leetcode刷题系列]Recover Binary Search Tree
- 学习java时的一些笔记(4)
- IO字节流和字符流的应用
- Ajax实现无刷新三联动下拉框例子
- D3D输入控制器
- 老外写的正则表达式的类