springMVC简单实例
参考:
使用springMVC实现简单的登录例子 - Admol - 博客园
https://www.cnblogs.com/admol/articles/4199546.html
1.新建web项目:springmvc
2.导入springmvc需要的jar包
3.配置web.xml文件(核心代码)
配置servlet
<servlet>
<servlet-name>spmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
4.编写index.jsp页面(核心代码)
<form action="login.do" method="post"> username:<input type="text" name = "username" ><p> password:<input type="password" name = "password" ><p> <input type="submit" value="登录"> </form>
5.编写loginSuccess.jsp 和 loginError.jsp 页面 代码略(随意标记下就是)
6.编写java代码(核心代码)
第一步:编写控制器
@Controller public class loginAction { @RequestMapping("login.do") public String login(String username,String password){ if ("admol".equals(username)) { System.out.println(username +" 登录成功"); return "loginSuccess";//逻辑视图名 跳转页面默认为转发
System.out.println(username +" 登录成功");
} return "loginError"; } }
注意:在导入ModelAndView包的时候是 导入servlet下的包。org.springframework.web.servlet.ModelAndView;
方法中的参数名必须和jsp页面传递过来的name属性名字一样
第二步:配置xml文件
7.配置spmvc-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:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 启用spring mvc注解 --> <context:annotation-config></context:annotation-config> <!-- 扫描包 --> <context:component-scan base-package="com.wjl.web"></context:component-scan> <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 如:http://127.0.0.1:8080/springmvc/jsp/****.jsp--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp"></bean> </beans>
8.将项目发布到Tomcat服务器并运行。
测试 结果:
使用其他方式传递:
/** * 返回的是一个ModelAndView * @param username 页面传递的用户名 * @param password 页面传递过来的密码 * @return */ @RequestMapping("login2.do") public ModelAndView login2(String username,String password){ if ("admol".equals(username)) { System.out.println(username +" 登录成功2"); return new ModelAndView("loginSuccess");//逻辑视图名 跳转页面默认为转发 } return new ModelAndView("redirect:/jsp/loginError");//以重定向的方式 } /** * 传递一个JAVABEAN对象给控制器 * @param users bean对象 * @return */ @RequestMapping(value="login3.do",method=RequestMethod.POST) public ModelAndView login3(@ModelAttribute("users") Users users){ if ("admol".equals(users.getUsername()) && "123".equals(users.getPassword())) { System.out.println(users.getUsername() +" "+ users.getPassword()); return new ModelAndView("loginSuccess"); } return new ModelAndView("redirect:/jsp/loginError.jsp");//以重定向的方式 }
jsp页面只需要改变下form表单的action就行。
Users.java
1 package com.wjl.bean; 2 3 /** 4 * @author Admol 5 *2015年1月3日 6 */ 7 public class Users { 8 9 private String username; 10 private String password; 11 public String getUsername() { 12 return username; 13 } 14 public void setUsername(String username) { 15 this.username = username; 16 } 17 public String getPassword() { 18 return password; 19 } 20 public void setPassword(String password) { 21 this.password = password; 22 } 23 24 }
测试结果就不写了。