java SpringMVC3 的例子
今天学习了Spring MVC3的内容,写了一些示例,由于关于Spring MVC的资料网上特别多,这里就不在赘述。
开发环境:
jdk:1.7+MyEclipse10+Spring3.0+Apache Tomcat 7.0
1.入门级
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>Spring MVC3 Demo</title>
</head>
<body><a href="test.html">Spring MVC 示例</a><a href="login.do">login</a><a href="test.xx">test xx</a>
</body>
</html>
2) 配置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_2_5.xsd" id="WebApp_ID" version="2.5"><display-name>spring</display-name><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><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>
3) 配置springmvc-servlet.xml
这个文件类似于之前的ApplicationContext.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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd" default-autowire="byName"><context:component-scan base-package="com.wicresoft.controller" /><bean id="viewResolver"class="org.springframework.web.servlet.view.UrlBasedViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/" /><property name="suffix" value=".jsp" /></bean>
</beans>
4)添加HomeController
package com.wicresoft.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
public class HomeController {@RequestMapping("/test.html")public ModelAndView GetMessage(){String str = "This Spring MVC Demo Return From Server";return new ModelAndView("message","str",str);}@RequestMapping("/test.xx")public ModelAndView GetMessage2(){String str = "test.xx return";return new ModelAndView("message","str",str);}
}
5) 添加Jar包
6)使用Tomcat 启动(非MyEclipse自带的)
7) 访问
点击两个链接分别返回
总结:
(1).Spring MVC 支持注解的方式完成Url和Action方法的映射,这个跟ASP.NET MVC 的属性一样的。
(2).Spring MVC 不负责根据后缀名选择如何处理,完全由程序控制。
(3).Spring MVC 通过配置的方式来约定映射规则。
2.页面传值
1)新增LoginController
package com.wicresoft.controller;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.wicresoft.model.*;@Controller
public class LoginController {/*@RequestMapping("/login.do")public ModelAndView GetMessage(){String str = "success";return new ModelAndView("message","str",str);}*/@RequestMapping(value = "/login.do", method = RequestMethod.POST)public ModelAndView onSubmit(HttpServletRequest request, ModelMap modelMap){String username = request.getParameter("username"); String password = request.getParameter("password"); LoginForm form = new LoginForm();form.setUsername(username);form.setPassword(password);if(username.equals("Admin")&&password.equals("12345")){return new ModelAndView("success","username",form);}else{return new ModelAndView("success","username","error");}}
}
登录页面
<%@ page contentType="text/html;charset=utf-8"%>
<html>
<head><title></title>
</head>
<body> <form method="post" action=login.do>
<table> <tr><td>姓名</td><td><input id="user" name="username" type="text" /></td></tr> <tr><td>密码</td><td><input id="psw" name="password" type="text" /></td></tr> <tr><td colSpan="2" align="center"><input type="submit" value="提交" width="180px"/></td></tr>
</table>
</form>
</body>
</html>
登录成功的页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'success.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><h1>final</h1>${username.getUsername()}</body>
</html>
登录效果
登录之后
总结:
1)在Controller中可以使用request对象获取页面输入的参数
2)controller可以返回对象给页面,并且自动序列化,在页面接收的时候,自动进行反序列化!类似ASP.NET MVC 的模型传递!
3)注解可以注解post/get方法
java SpringMVC3 的例子相关推荐
- 20 个使用 Java CompletableFuture的例子
转载自 20 个使用 Java CompletableFuture的例子 这篇文章介绍 Java 8 的 CompletionStage API和它的标准库的实现 CompletableFuture. ...
- java线程安全例子_Java总结篇系列:Java多线程(三)
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题. 一.一个典型的Java线程安全例子 1 public classThreadTest {2 3 public static voi ...
- java抽象类例子_关于java抽象类的例子
在网上找了很久,发现没有一个比较好的关于java抽象类的例子,刚好自己这些天在书上看到一个不错的猜数字游戏的例子,所以拿出来改进了下,希望能给你一些帮助,具体内容如下 建2个类依次为AbstractG ...
- Java swing 代码例子
Java swing 代码例子 package com; import java.awt.Button; import java.awt.Container; import java.awt.even ...
- java hbase 例子,java操作hbase例子
java操作hbase例子 java操作hbase,在eclipse中创建一个java项目,将hbase安装文件根目录的jar包和lib目录下jar包导入项目,然后就可以编写java代码操作hbase ...
- Java Lambda reduce 例子 全网reduce最清晰易懂的例子,不服来辩 xxx XXX
Java Lambda reduce 例子 全网reduce最清晰易懂的例子,不服来辩 xxx XXX import java.util.Optional; import java.util.stre ...
- Java Lambda 分区 例子 水仙花
Java Lambda 分区 例子 水仙花 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数. ...
- java 序列化 例子_一个简单的Java序列化的例子
简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对 ...
- java try catch 例子_Java异常处理综合例子(try、catch、finally、throws、throw)
Java异常处理综合例子(try.catch.finally.throws.throw) 佟强 2009年11月4日 http://blog.csdn.net/microtong package cn ...
最新文章
- Autools学习总结(一)
- 王爽 16 位汇编语言学习记录
- tomcat源码分析_Tomcat源码分析(一)--Tomcat的初始化
- flask 第八篇 实例化flask时的参数配置
- 【Java】模拟分组交换网络的时延、丢包
- IDEA卡顿问题解决-加大内存
- Oracle的where子句
- SpringCloud实战2-Ribbon客户端负载均衡
- 蓝牙:深入浅出低功耗蓝牙(BLE)协议栈
- NASA 美国国家航空航天局开源项目列表
- 两个表的笛卡尔积sql语句,有相同列需区分
- C#实现Winform程序自动进行版本升级更新
- Acdream 1729 Crime
- Composer 简介和基本用法
- xposed模块开发步骤总结
- MCU多系统服务器与云平台,MCU多系统服务器与云平台
- Java 从键盘输入数据到一维double数组中
- 高中英语选修计算机,高中英语课堂
- pg批量插入_postgresql大批量数据导入方法
- 数学建模写作时相关的套路
热门文章
- 超级白熊啤酒虎年限定礼盒正式发售;迪桑特限量发售新款针织滑雪服 | 知消...
- HTC官解后刷机步骤
- 论文阅读:RICAP: Random Image Cropping and Patching Data Augmentation for Deep CNNs
- 【100%通过率】华为OD机试真题 C++ 实现【最接近最大输出功率的设备 /查找充电设备组合】
- 3D设计软件中怎么画锥齿轮?浩辰3D设计实例
- 蓝桥杯第七届省赛JavaB组题解
- UE4:Build Configuration和Config的解释
- BIgDecimal的用法,及与各类数据类型的转换
- vuejs-- webpack环境下父子组件的使用
- 氟胶耐腐蚀油罐泵出口应用性能