Spring3 MVC Annotaction入门(登录示范)
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控制层
表示层JSP
成功页面:success.jsp
失败页面:error.jsp
SPRING MVC.xml配置文件如下:
web.xml配置文件如下:
工程示例代码见附件
Spring3 MVC 入门(登录示例)
http://liuzidong.iteye.com/blog/897047
浏览资料
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" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <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