1. 首先编写pom.xml文件,加入Spring MVC依赖的jar包。
2. 编辑web.xml,加入Spring MVC的前端控制器。代码如下:
<servlet>
<servlet-name>bbs</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bbs</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3. 由于我们的servlet-name声明的是bbs,所以我们需要在web-info下面创建一个bbs-servlet.xml文件。
首先添加如下代码:
<context:component-scan base-package="com.neu.edu.bbs.web" />
这样spring就会在com.neu.edu.bbs.web的目录下搜索Controller。
然后添加如下代码:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
这段代码是配置一个ViewResolver,具体功能后面再说。
现在spring的配置基本完成,下面写一个简单的注册例子。
1. 编写signIn.jsp
<form:form method="POST" commandName="account">
<table>
<tr>
<td>username:</td>
<td><form:input path="username"/></td>
</tr>
<tr>
<td>password</td>
<td><form:password path="password"/></td>
</tr>
<tr>
<td>
<input type="submit" value="submit" />
</td>
</tr>
</table>
</form:form>
主要功能就是像后台提交两个参数,分别是username和password。
看了如上代码可能会有一个疑问,为什么上面的form没有action呢?因为这个jsp是由一个Controller转过来的,具体流程见Controller代码。
2. 下面是主要的Controller代码,AccountController:
package com.neu.edu.bbs.web;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.support.SessionStatus;
import com.neu.edu.bbs.model.Account;
@Controller
@RequestMapping("/account")
public class AccountController {
private static final String REGISTER_URL = "signIn";
private static final String REGISTER_SUCCESS = "signSuccess";
@RequestMapping(method = RequestMethod.GET)
public String initForm(ModelMap model) {
Account account = new Account();
model.addAttribute("account", account);
return REGISTER_URL;
}
@RequestMapping(method = RequestMethod.POST)
public String addAccount(@ModelAttribute ("account") Account account,
BindingResult result, SessionStatus status) {
System.out.println(account.getUsername() + account.getPassword());
return "redirect:/account/" + account.getUsername();
}
@RequestMapping(value="{accountName}")
public String getAccount(@PathVariable("accountName") String accountName,
ModelMap model) {
Account account = new Account();
account.setUsername(accountName);
model.addAttribute("account", account);
return REGISTER_SUCCESS;
}
}
流程解释:
(1)首先我们在浏览器中输入如下地址:http://localhost:8080/sixuebbs/account
这是根据我们这个Controller类的RequestMapping的配置,initForm方法将会被调用。initForm方法的功能就是创建一个Account对象,然后跳转到sighIn.jsp页面,也就是上面的页面中。
(2)在signIn.jsp页面中填写完注册信息,然后提交,addAccount这个方法将会被调用,然后将Account的内容实例化到数据库。实例化成功之后方法会redirect到/account/accountName。这样getAccount就是被运行。我们看getAccount这个方法的RequestMapping,这已经含有REST的味道了。
(3)最后getAccount跳转到注册成功界面。注册成功界面显示欢迎信息。
为什么我们不在第二步的时候就跳转到成功界面呢?因为如果我们这样做的话,当我们再次刷新成功界面的时候,数据将会被重复提交。
分享到:
相关推荐
在MVC方面,Spring 1.0-m2提供了初步的Web MVC框架,为开发RESTful Web服务提供了基础。尽管相比于后续版本,该版本的MVC功能较为基础,但已经足够应对许多常见的Web应用需求。 至于版本号中的“m2”,这代表这是一...
在JavaEE MVC 1.0 API中,控制器可能是Servlet或者一个特定的MVC框架提供的类,如Spring MVC的`@Controller`注解的类。 JavaEE MVC 1.0 API 提供了标准化的接口和组件,使得开发人员可以更高效地构建可维护、可扩展...
4. **MVC框架雏形**:虽然Spring 1.0-rc1的MVC框架尚未完全成熟,但已包含了基础的控制器(Controller)概念,以及请求处理和视图解析的初步框架。在`org.springframework.web`包下,可以看到`DispatcherServlet`和`...
### Spring MVC 学习指南详解 #### 一、Spring MVC 概述 Spring MVC 是 Spring 框架的一部分,主要用于构建基于 Model-View-Controller (MVC) 设计模式的 Web 应用程序。它提供了丰富的功能来简化 Web 开发过程,...
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...
Spring MVC 框架搭建与 Hibernate 整合实例 Spring MVC 框架搭建是 Java Web 开发中的一种常见架构模式,它基于 Model-View-Controller(MVC)模式,使用注解方式来处理请求和响应。下面将详细介绍 Spring MVC 框架...
5. **MVC框架**:尽管1.0版本的Spring MVC功能相对有限,但它是Spring Web应用的基础。它提供了模型-视图-控制器架构,使得Web应用程序的组织更加清晰,提高了可维护性和可扩展性。 6. **事务管理**:Spring 1.0...
标题中的“【自虐1.0】Spring MVC增删改查”表明这是一篇关于Spring MVC框架基础操作的教程,作者可能以一种幽默的方式介绍了如何使用Spring MVC进行基本的CRUD(创建、读取、更新、删除)操作。Spring MVC是Spring...
6. **spring-web**和**spring-webmvc**:这两个模块是Spring与Web应用的接口,前者提供HTTP Servlet的集成,后者则是Spring MVC框架,用于处理Web请求和响应。 7. **docs**:可能包含Spring 1.0的API文档和其他相关...
SPRING MVC 配置过程 SPRING MVC 是一个基于 DispatcherServlet 的 MVC 框架,每一个请求最先访问的都是 DispatcherServlet,DispatcherServlet 负责转发每一个 Request 请求给相应的 Handler,Handler 处理以后再...
Spring MVC遵循MVC(Model-View-Controller)设计模式,将业务逻辑、数据和视图分离,提供灵活的配置和扩展性。它包括DispatcherServlet、HandlerMapping、Controller、ModelAndView等组件,通过这些组件,开发者...
本文将通过分析标题"用300行代码手写Spring V1.0版本"和描述,探讨Spring的基本设计理念和实现机制。 首先,Spring的核心是IoC容器,它负责管理对象的生命周期和依赖关系。在300行代码的简化版本中,我们将看到如何...
本文的目的是使用300行代码实现Spring MVC 核心原理,读取配置文件,实现自己的ioc容器,实现依赖注入,再根据注解和对应的方法实例化HandlerMapping,更重要的是为之后的源码的阅读提供一个大概的轮廓.
5. **MVC模式**:虽然Spring1.0并不包含Spring MVC,但了解MVC设计模式对于后续学习Spring MVC至关重要。Model代表业务数据,View负责展示,Controller处理用户请求并协调Model和View。 在实践“手写Spring1.0”时...
【Spring MVC 自学教程】 Spring MVC 是一个基于 Model-View-Controller(MVC)设计模式的轻量级 Web 开发框架。它使开发者能够轻松地将业务逻辑、数据处理和用户界面分离,从而提高代码的可维护性和复用性。 **...
**Spring MVC 框架详解** Spring MVC 是 Spring 框架的一个模块,它为 Java 应用程序提供了模型-视图-控制器(MVC)架构。在“简单纯粹的Spring MVC架构J2EE项目”中,我们看到的是一个基于 J2EE 平台构建的轻量级 ...
在本文中,我们将深入探讨基于注解的Spring MVC的简单入门。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序,提供了强大的MVC(Model-View-Controller)设计模式支持。通过注解,开发者可以简化配置,...
总的来说,"springframework-1.0.zip"这个早期版本展示了Spring框架的基本构架和核心特性,包括IoC容器、AOP、MVC、事务管理和JDBC抽象。对于想要深入了解Spring框架历史、设计原理以及其演进过程的程序员来说,这是...