注解驱动的springMVC与参数绑定
2015-09-24 20:44
609 查看
最近一直在学习spring MVC。真的很灵活,这次主要做个前台传入数据到控制器并调用服务层来完成数据验证工作并跳转页面。
工程目录结构
这次由于没有连接数据库,所以没有设置dao层。直接在service里面做了验证处理。
需求是从前台传入username和password两个参数到后台验证过完成页面跳转。
首先配置web容器的web.xml:
然后配置springMVC的servlet。这个必须放在根包下面,之前放到包下面,总是无法起作用。
springMVC.xml:
然后我们需要写控制器,完成页面跳转与数据存储和业务调用:
@RequestParam(“username”)为前端的username参数放到name对象上。password同理,十分的优雅。
调用的CheckUser静态构造方法为:
完成业务层的处理。
然后来写welcome.jsp登录页面吧:
如果验证成功跳转到:
验证失败:
提交就会请求loginAction,然后调用CheckUser完成业务处理 页面跳转和数据存储。
登录成功跳转:
验证失败跳转:
工程目录结构
这次由于没有连接数据库,所以没有设置dao层。直接在service里面做了验证处理。
需求是从前台传入username和password两个参数到后台验证过完成页面跳转。
首先配置web容器的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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- 配置spring servlet --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:springMVC.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>welcome.jsp</welcome-file> </welcome-file-list> </web-app>
然后配置springMVC的servlet。这个必须放在根包下面,之前放到包下面,总是无法起作用。
springMVC.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-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <!-- 控制器包扫描 --> <context:component-scan base-package="controller"></context:component-scan> <!-- 视图层解析 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
然后我们需要写控制器,完成页面跳转与数据存储和业务调用:
@RequestParam(“username”)为前端的username参数放到name对象上。password同理,十分的优雅。
@Controller @RequestMapping("/login") public class LoginAction { @RequestMapping("/check") public ModelAndView checkLogin(@RequestParam("username") String name,@RequestParam("password") String password) { if(CheckUser.CheckUser(name, password)) return new ModelAndView("success","loginUser","hello micro"); return new ModelAndView("error","loginName","you are not allowed into system!"); } }
调用的CheckUser静态构造方法为:
public class CheckUser { /* * 模拟dao完成验证 */ public static boolean CheckUser(String username,String password) { if(username.equals("micro") && password.equals("123")) return true; return false; } }
完成业务层的处理。
然后来写welcome.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>welcome page</title> </head> <body> <h1>欢迎</h1> <form action="login/check" method="post"> username:<input type="text" name="username" value="micro" /> password:<input type="text" name="password" value="123" /> <input type = "submit" value = "提交"> </form> </body> </html>
如果验证成功跳转到:
<%@ 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>success page</title> </head> <body> <h1>this is a success page</h1> ${loginUser} </body> </html>
验证失败:
<%@ 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>error page</title> </head> <body> <h1>this is a error page</h1> ${loginName} </body> </html>
提交就会请求loginAction,然后调用CheckUser完成业务处理 页面跳转和数据存储。
登录成功跳转:
验证失败跳转:
相关文章推荐
- Fork and Join: Java也可以轻松地编写并发程序
- 关于Java中的封装、多态、继承(1)
- [leetcode-284]Peeking Iterator(java)
- 3、下载与安装Eclipse
- JAVA类的方法调用和变量(全套)
- 用java制作简单登陆窗口,求大神教导
- Java垃圾回收机制
- ThreadPoolExecutor JDK线程池
- mybatis和spring整合的关键配置
- mybatis和spring整合的关键配置
- springmvc 返回json配置
- java学习之多线程1
- @suppressWarnings("unchecked") java 中是什么意思 (一般放dao查询方法上)
- @suppressWarnings("unchecked") java 中是什么意思 (一般放dao查询方法上)
- Java中泛型在集合框架中的应用
- SpringMVC注解之@ModelAttribute
- spring管理属性配置文件properties——使用PropertyPlaceholderConfigurer
- spring下载地址
- Java基础知识强化66:基本类型包装类之JDK5新特性自动装箱和拆箱
- java 异常