SpringMVC学习笔记——SpringMVC的简单应用
来源:互联网 发布:密码碰撞软件 编辑:程序博客网 时间:2024/06/08 05:52
官方地址:http://www.springsource.org/download
流程
前置控制器
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
控制器
1、直接实现Controller 接口或AbstractController抽象类
2、用于直接跳转页面的ParameterizableViewController, UrlFilenameViewController
3、能封装表单参数的CommondController
4、在同一控制器类中处理多个请求的MultiActionController.具体调用的方法通过methodNameResolver决定
(InternalPathMethodResolver, ParameterMethodNameResolver,PropertiesMethodResolver)
方法签名
public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response, [,HttpSession] [,AnyObject]);Handler Mapping
用于映射控制器
ModelAndView
ViewResolver
View
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="toLogin.do">toLogin</prop>
</props>
</property>
</bean>
跳转页面
ModelAndView
ViewResolver
View
例子:登陆
需要导入的包
JSP的准备
登陆的JSP
<%@ 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 'login.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><form method="post" action="login.do" name="loginForm"><p> username:<input type="text" name="username"></p><p> password:<input type="password" name="password"><br></p><p> <input type="submit" value="login" name="loginBtn"></p></form> </body></html>
成功页面的JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%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> This is my Success page. <br> <h2>${name}</h2><h1>是广州恒大最帅的男人!</h1> </body></html>
实体Bean
public class UserBean {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
登陆的控制器LoginBeanController
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.validation.BindException;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractCommandController;public class LoginBeanController extends AbstractCommandController{@Overrideprotected ModelAndView handle(HttpServletRequest request,HttpServletResponse response, Object obj, BindException ex)throws Exception {// TODO Auto-generated method stubUserBean user = (UserBean)obj;//业务处理//跳转到相应页面,与要跳转的页面的名字相同ModelAndView mav = new ModelAndView("success");//页面将要取的值mav.addObject("name", user.getUsername());return mav;}}
配置文件
web.xml的配置
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <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>*.do</url-pattern></servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
springMVC-servlet.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/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"><bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><property name="mappings"><props><prop key="login.do">login</prop></props></property></bean> <bean id="login"class="com.lovo.mvc.controller.LoginBeanController"><property name="commandClass" value="com.lovo.bean.UserBean"></property></bean><!-- 返回视图的格式 --><beanclass="org.springframework.web.servlet.view.UrlBasedViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView"></property><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean></beans>
效果
- SpringMVC学习笔记——SpringMVC的简单应用
- SpringMVC学习笔记——SpringMVC的简单应用(通过注解的方式)
- SpringMVC简单学习笔记
- springMVC的简单学习
- SpringMVC的学习笔记
- springmvc的简单应用例子
- 学习SpringMVC——配置文件和第一个SpringMVC应用
- Spring 学习笔记4—— SpringMVC的控制器与View简单demo
- springmvc学习笔记(31)——springmvc运行流程
- springmvc学习笔记(31)——spring整合springmvc
- SpringMVC学习笔记(二)——SpringMVC开发环境搭建
- 学习SpringMVC笔记——Intellij IDEA创建SpringMVC项目
- Springmvc学习笔记壹——springmvc概述
- 学习SpringMVC——从最简单的开始
- Spring 学习笔记5—— SpringMVC的参数传递
- Sping 学习笔记7—— SpringMVC的restful 服务
- springmvc学习笔记——ajax请求的问题
- 史上最全的SpringMVC学习笔记
- 正整数
- Pointers ON C
- java String中的intern方法
- A. Slightly Decreasing Permutations
- 1608. Digit Counting
- SpringMVC学习笔记——SpringMVC的简单应用
- 黄金分割数0.618034
- 自己动手写HTTP服务--myhttpd
- dip,sp,px,dp的区别
- HTML5 worker 多线程
- android之dp dpi px
- 如何开发Web应用程序
- 比酒量
- 被拍摄物体和摄像头之间的距离无法测量