Eclipse
中创建一个工程springMVC
,
然后按照下面的步骤添加文件
。
配置web.xml文件
在
springMVC
的WebContent目录下创建web.xml。在使用Struts 2时,需要在web.xml文件配置FilterDispatcher,在使用Spring的MVC框架时,也需要配置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_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>springMVC</display-name>
<!--配置Sring MVC的核心控制器DispatcherServlet -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
上面的代码对DispatcherServlet类进行配置,所有后缀名为.do的请求都会被DispatcherServlet处理。
编写用于输出的页面
在WebContent文件夹下面创建sayHello.jsp,该页面用来被Spring的控制器调用向页面上输出一个字符串,代码如下:
<%@page contentType="text/html;charset=UTF-8"%>
<html>
<head><title>第一个Spring MVC实例</title></head>
<%
String str = (String)request.getAttribute("helloWorld");
%>
<body>
<h1>您输入的欢迎语是<%=str%></h1>
</body>
</html>
创建控制器
Spring的MVC框架也有充当控制器的组件。下面先在springMVC中创建一个包com.examp,然后在其中添加HelloWorldAction.Java类,用于调用sayHello.jsp去显示字符串,代码如下:
package com.examp;
import java.util.HashMap;
import java.util.Map;
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 HelloWorldAction implements Controller{
private String helloWorld; //该属性用于获取配置文件中的helloWorld属性
private String viewPage; //用于获取配置文件中的viewPage属性
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
Map<String,String> modal = new HashMap<String,String>();
modal.put("helloWorld", getHelloWorld());
return new ModelAndView(getViewPage(),modal);
}
public String getHelloWorld() {
return helloWorld;
}
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
public String getViewPage() {
return viewPage;
}
public void setViewPage(String viewPage) {
this.viewPage = viewPage;
}
}
可以看出,上面的HelloWorldAction类实现了Controller接口。该类有两个属性viewPage和helloWorld。viewPage代表处理完后要返回的页面,helloWorld是要传给显示页面的参数。在handleRequest()方法中进行客户端请求的处理时,首先将参数helloWorld放在Map类型的变量model中,然后调用viewPage显示该参数。
创建spring的配置文件
在springMVC的WebContent下面编写文件dispatcherServlet-servlet.xml,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"></bean>
<!--配置控制器的映射 -->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="helloWorld.do">helloWorldAction</prop>
</props>
</property>
</bean>
<!--配置视图 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
</property>
</bean>
<!--指定控制器的实现类,并且配置其参数的值 -->
<bean id="helloWorldAction" class="com.examp.HelloWorldAction">
<property name="helloWorld">
<value>Hello Spring World!</value>
</property>
<property name="viewPage">
<value>sayHello.jsp</value>
</property>
</bean>
</beans>
用<bean id="helloWorldAction" class="com.examp.HelloWorldAction">指定控制器的实现类是com.examp.HelloWorldAction,并且用helloWorldAction来唯一标识该控制器。
用<prop key="helloWorld.do">helloWorldAction</prop>为HelloWorldAction建立映射,其中helloWorldAction就是HelloWorldAction类的id,helloWorld.do为访问HelloWorldAction的URL。
在浏览器中输入http://localhost:8080/springMVC/helloWorld.do,就可以访问到HelloWorldAction类。
<value>Hello Spring World!</value>用来给HelloWorldAction类的属性helloWorld赋值。<value>sayHello.jsp</value>用来给其viewPage属性赋值,这样在HelloWorldAction类中才能获取它们。
id为viewResolver的bean用来定义视图解析器。
运行springMVC实例
在Eclipse中启动Tomcat,在浏览器中输入http://localhost:8080/springMVC/helloWorld.do,可以访问到sayHello.jsp。
分享到:
相关推荐
在这个实例中,我们将深入探讨 SpringMVC 的核心概念、配置、以及如何通过实际操作来创建一个简单的应用程序。 首先,SpringMVC 的核心组件包括 DispatcherServlet(前端控制器)、Controller(控制器)、Model...
在这个"springmvc实例"中,我们可以看到一个简单的 HTTP 接口的实现,通过访问 `http://localhost:8080/jxhService/test/hello` 可以测试其功能。 1. **Spring MVC 架构**: - Spring MVC 提供了一个分层的架构,...
在"Ext4+SpringMVC实例Demo源码"中,我们可以期待看到如何将这两个技术结合,创建一个具有交互性和数据管理功能的Web应用。这个Demo可能包含了以下关键知识点: 1. **Ext4组件使用**:Ext4提供了一系列的UI组件,如...
**SpringMVC简介** ...通过上述知识点,我们可以快速搭建并运行一个SpringMVC实例,实现从请求处理到响应的完整流程。在实际项目中,还需要考虑安全性、性能优化等方面,以构建出高质量的Web应用。
【标题】"cxf+SpringMVC实例"探讨了如何将Apache CXF服务框架与SpringMVC进行集成,创建一个高效、灵活的Web服务应用程序。Apache CXF是一个开源的Java框架,它允许开发者构建和消费各种Web服务,包括SOAP和RESTful...
这个实例 "SpringMvc实例" 包括了创建基于 Spring MVC 和 JPA 的 Web 应用的基本步骤。文件 "DLJTAQDTJGPT" 可能是项目资源或配置文件的压缩包,但无法提供具体细节,因为它只是一个抽象的文件名。要获取更多信息,...
首先,我们来看一下"SpringMVC实例.docx",这很可能是包含了一个详细的步骤指南,包括创建项目结构、配置SpringMVC的DispatcherServlet、编写控制器、设置视图解析器、以及可能的数据访问层和业务逻辑层的实现。...
标题"mybaties+springMVC实例"表明这是一个将MyBatis与SpringMVC整合的实践项目,旨在帮助开发者快速理解和掌握这两个框架的集成使用。 描述中的"这是java中一个简单的mybaties+springMVC的完整实例"提示我们,这个...
现在,我们按照以下步骤创建SpringMVC实例: 1. **创建项目**:在MyEclipse中新建一个Dynamic Web Project,然后添加SpringMVC的依赖库,包括Spring的web、context、web-context和mvc等模块。 2. **配置web.xml**...
总结一下,SpringMVC实例小项目是一个很好的学习平台,它涵盖了SpringMVC的主要组件和核心概念,通过实际操作可以加深对SpringMVC的理解,提升Web应用开发技能。在项目实践中,你会遇到配置、编写Controller、设计...
在本实例项目 "springmvc 实例项目简单登录功能" 中,我们将探讨如何使用 Spring MVC 来实现一个基本的用户登录功能。 首先,我们需要了解 MVC 设计模式。MVC 将应用程序分为三个核心部分:模型(Model)、视图...