一个简单登录的SpringMVC的示例
2016-12-29 13:46
369 查看
一.框架图
二.步骤
1./WebRoot/WEB-INF/lib下添加SpringMVC必须的jar包;下载地址:http://download.csdn.net/detail/decorator2015/9724399
2.在com.xml.models包中创建User类,该类包含两个属性:username和password,并分别实现这两个属性的setXxx()和getXxx()方法。
package com.xml.models; public class User { 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; } }
3.创建命令控制器类UserCommandController,该控制器要处理输入的username和password属性。在handle( )方法中command就是输入的一个对象,这里需要先转化为User类,并调用相应的方法获取User类中的username和password 属性值。然后放到一个List集合中,再调用getPage( )方法传回到指定的视图中。这个视图名在spring-servlet.xml文件中指定,该程序中指定为user。具体的代码如下:
package com.xml.models; import java.util.ArrayList; import java.util.List; 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 UserCommandController extends AbstractCommandController { private String page; public UserCommandController(){ //设置命令对象类型 setCommandClass(User.class); } @Override protected ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception { // TODO Auto-generated method stub User user=(User)command; //获取用户对象 String username=user.getUsername(); //获取用户名 String password=user.getPassword(); //获取密码 List list=new ArrayList(); list.add(0,username); list.add(1,password); return new ModelAndView(getPage(),"info",list); } public String getPage() { return page; } public void setPage(String page) { this.page = page; } }
4.在WEB-INF/web.xml配置文件中配置DispatcherServlet,该应用将加载WEB-INF/spring-servlet.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"> <display-name>SpringMVCProject</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!--配置DispatcherServlet --> <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> <!-- 配置分解应用上下文 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- context --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-servlet.xml </param-value> </context-param> </web-app>
5.在WEB-INF/spring-servlet.xml配置文件,在该文件中配置控制器。向控制器UserCommandController注入了一个名称为page的属性,并配置该属性值为user。其具体的代码如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//dtd BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean name="/user.do" class="com.xml.models.UserCommandController"><!-- 配置控制器 --> <property name="page" value="user"/> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
6.在WebRoot目录下新建index.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 'index.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 action="user.do" method="post"> 用户名:<input type="text" value="admin" name="username" /> 密码:<input type="password" value="123" name="password"/> <input type="submit" value="登录"> </form> </body> </html>
7.在WebRoot目录下新建user.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 'user.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> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td width="60px" style="font-size:14px; font-weight:bold;">用户名</td> <td>${info[0]}</td> </tr> <tr> <td style="font-size:14px; font-weight:bold;">密码</td> <td>${info[1]}</td> </tr> </table> </body> </html>
8.运行程序,请求index.jsp,输入用户名和密码,如下图(登录界面)
单击【登录】按钮,输出用户登录信息,如下图(输出用户登录信息)
相关文章推荐
- Shiro学习之路 Hello Shiro(一)
- 插件管理框架 for Delphi(一)
- 使用CSS框架布局的缺点和优点小结
- 一起动手编写Android图片加载框架
- Android中Volley框架下保持会话方法
- 基于.NET平台常用的框架和开源程序整理
- Android的搜索框架实例详解
- 列举PHP的Yii 2框架的开发优势
- Windows窗体的.Net框架绘图技术实现方法
- 浅谈JavaScript 框架分类
- 微信小程序 框架详解及实例应用
- 轻量级javascript 框架Backbone使用指南
- javascript实现框架高度随内容改变的方法
- JS刷新框架外页面七种实现代码
- 超赞的动手创建JavaScript框架的详细教程
- 深入探讨前端框架react
- Bootstrap框架的学习教程详解(二)
- js验证框架实现代码分享
- jQuery的框架介绍
- Bootstrap整体框架之CSS12栅格系统