首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

Spring3 MVC Annotaction入门(登录示范)

2012-09-06 
Spring3 MVC Annotaction入门(登录示例)浏览资料1 SpringMVC入门实例及详细讲解http://javacrazyer.iteye.

Spring3 MVC Annotaction入门(登录示例)
浏览资料
1 SpringMVC入门实例及详细讲解
http://javacrazyer.iteye.com/blog/790834
2 Spring mvc 实例--使用velocity视图,解决中文乱码问题
http://blog.csdn.net/sabuhaha/archive/2009/08/25/4483271.aspx
3 SpringMVC整合FreeMarker中文乱码解决方案
http://www.easyjf.com/blog/html/20071218/884747.html
4 使用 Spring 2.5 基于注解驱动的 Spring MVC
http://www.ibm.com/developerworks/cn/java/j-lo-spring25-mvc/

一 开发工具环境:Myeclipse6.6+Tomcat7+JDK1.6
所用jar文件:

二 示例代码如下:
WEB控制层

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.liuzd.vo.User;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controller@RequestMapping("/user.do")public class UserController {@SuppressWarnings("unchecked")@RequestMapping(params = "method=add")public String login(@ModelAttribute("user")User user, HttpServletRequest req, HttpServletResponse response) {// 此处调用服务层进行相应的业务操作System.out.println("用户信息: " + user);// 传递对象于下一页面req.setAttribute("user", user);// 调用服务层进行验证用户,此处只演示功能if ("spring".equals(user.getUserId())&& "spring".equals(user.getUserPassword())) {return "success";}return "error";}@SuppressWarnings("unchecked")// @RequestMapping(params= "method=add2",method=RequestMethod.POST)// 定义method方法不是必须的@RequestMapping(params = "method=add2")public ModelAndView login2(@ModelAttribute("user")User user, HttpServletRequest req, HttpServletResponse response) {// 此处调用服务层进行相应的业务操作System.out.println("用户信息2: " + user);// 使用ModelAndView保存对象于下一页面ModelAndView model = new ModelAndView();model.addObject("user", user);// 调用服务层进行验证用户,此处只演示功能if ("spring".equals(user.getUserId())&& "spring".equals(user.getUserPassword())) {model.setViewName("success");} else {model.setViewName("error");}return model;}@RequestMapping(params = "method=add3")public String login3(@ModelAttribute("user")User user,Model model) {model.addAttribute("user",user);  System.out.println("用户信息3: "+user);// 调用服务层进行验证用户,此处只演示功能if ("spring".equals(user.getUserId())&& "spring".equals(user.getUserPassword())) {return "success";}//放入model默认把参数存于请求model.addAttribute("msg","用户或者密码错误!");  return  "error";/** * 重定向JSP页面,走出了springmvc配置的view(jsp) * 因为这样说明:model.addAttribute("msg","用户或者密码错误!");  * 获取不到值了 * 不加上.jsp就是这样:http://127.0.0.1:8080/Spring3-Login-Annotaction/index?msg=%E7... * *///返回到页面是乱码在页面中用${msg}获取不到值,用request.getParams("msg");为乱码//return "redirect:index.jsp?msg=用户或者密码错误!";}}


表示层JSP
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><form action="${pageContext.request.contextPath}/user.do?method=add" method="post">        ID号: <input type="text" name="userId" id="userId"><br>         密码: <input type="password" name="userPassword" id="userPassword"><br>         <input type="submit" value="Login">     </form>  <br>     <form action="${pageContext.request.contextPath}/user.do?method=add2" method="post">        ID号: <input type="text" name="userId" id="userId"><br>         密码: <input type="password" name="userPassword" id="userPassword"><br>         <input type="submit" value="Login2">     </form>        <br>     <form action="${pageContext.request.contextPath}/user.do?method=add3" method="post">        ID号: <input type="text" name="userId" id="userId"><br>         密码: <input type="password" name="userPassword" id="userPassword"><br>                 <input type="submit" value="Login3">     </form> 
     
成功页面:success.jsp
欢迎你: ${user.userId}<br> <a href="${pageContext.request.contextPath}/index.jsp">返回</a>


失败页面:error.jsp
登录错误:ID号: ${user.userId},密码: ${user.userPassword},<font color='red'>${msg}</font><br><a href="${pageContext.request.contextPath}/index.jsp">返回</a>


SPRING MVC.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">    <!--          自动搜索@Controller标注的类         用于指明系统从哪个路径下寻找controller,然后提前初始化这些对象。     --><context:component-scan base-package="net.liuzd.web.action" /><!-- Default ViewResolver --><bean id="viewResolver"/><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp"></property></bean>    </beans>


web.xml配置文件如下:
<filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param>               <param-name>forceEncoding</param-name>               <param-value>false</param-value>           </init-param>  </filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>*.do</url-pattern></filter-mapping><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--   指定XML文件位置  <param-value>/WEB-INF/classes/springmvc.xml    <param-value>classpath*:springmvc.xml --> <!-- 在classpath路径下去寻找springmvc.xml文件 -->  <param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>

工程示例代码见附件
Spring3 MVC 入门(登录示例)
http://liuzidong.iteye.com/blog/897047

热点排行