SpringMVC入门学习1

以前一直使用的struts2框架,但是现在越来越多的公司选择使用springMVC框架。这几天也就开始学习了。

网上有很多SpringMVC的入门教程,但是我搜索了很多篇,按照上面的步骤多少都会出现问题。导致人非常的郁闷。

可能是我技术太菜的原因吧,对着好几篇教程都出现问题,Demo根本无法运行,今天起来认真思索了一下,终于搞定了这个入门Demo,现在分享一下我的步骤。

首先,我选择的spring版本为最新的spring3.2.0。springMVC这个框架包含在spring_framework框架下。

(开始我以为是单独的,可是在官网上没有这个单独项目,后来才知道是放在splring_framework框架下的)

spring-asm-3.2.0.M1.jar
spring-beans-3.2.0.M1.jar
spring-context-3.2.0.M1.jar
spring-core-3.2.0.M1.jar
spring-expression-3.2.0.M1.jar
spring-web-3.2.0.M1.jar
spring-webmvc-3.2.0.M1.jar

这里要说明下,以上jar如果做其他功能,可能还需要使用他的依赖包,这里我们需要以下依赖包:

com.springsource.org.apache.commons.logging-1.1.1.jar

依赖包可以在spring_framework框架官网下载页面中下载带有dependencies字样的框架包。里面包含了spring所有需要使用到的依赖包。

jar包就上面这些,如果需要使用别的功能,或者集成其他包,另外再加。

第二步,环境的搭建。

不得不说,用MyEclipse用惯了,用Eclipse做web项目,真不习惯。但是还是使用EclipseEE工具吧,毕竟是免费的。

使用EclipseEE创建“Dynamic Web project”项目(在web分支下)。一切默认即可。

将jar包Copy到WEB_INF目录下的lib文件夹下

配置web.xml。添加一个SpringMVC的ControllerServlet

<?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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>SpringMVC_Test1</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  <servlet-name>springMVC</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>springMVC</servlet-name>
  <url-pattern>*.html</url-pattern>
  </servlet-mapping>

  
</web-app>

DispatcherServlet是springMVC的总Controller。它负责拦截前台请求。

配置servletName-servlet.xml。servletName为web.xml中节点<servlet-name>中写的名称,

这个例子中为“springMVC-servlet.xml”,此文件位置与web.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="simpleUrlHandlerMapping"  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.html">helloController</prop>
</props>
</property>
</bean>

<bean id="helloController" class="cn.fx.controller.HelloWordController"> </bean>
</beans>

这里需要说明下<beans>节点中的声明必须有,否则无法spring框架无法解析此xml文件,导致异常。

key、id这些属性都可以人为取名。

helloCotroller这个节点是springMVC的自定义的Controller。

可以编写完Controller再来配置这个节点。

编写Controller。

package cn.fx.controller;

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 HelloWordController implements Controller {

@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mad = new ModelAndView("hello.jsp");
mad.addObject("message", "这里SpringMVC的DEemo");
return mad;
}

}

编写页面

1,index.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>Insert title here</title>
</head>
<body>
<a href="hello.html">点击开启SrpingMVC的大门</a>
</body>
</html>

2,hello.jsp。这个页面是点击index.jsp连接后,经过HelloWordController控制器后,调用的View。

<%@ 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>Insert title here</title>
</head>
<body>
${message}
</body>
</html>

下面是一张项目结结构图:

Demo完毕。web.xml配置文件中的<servlet-mapping>下的<url-parttern>*.html</url-partern>是指拦截所有后缀为“html”的url连接。

这里可以修改的,可以根据实际需求修改。

springMVC-servlet.xml配置文件中的这个节点<prop key="/hello.html">helloController</prop>是指:

将url中的hello.html连接映射到ID为helloController的Controller中。

所以在springMVC-servlet.xml配置文件中最后又配置了一个<bean id="helloController" class="cn.fx.controller.HelloWordController"></bean>

作者:Alony

(菜鸟中的一只,希望一点点的成为一只老鸟。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值