本帖最后由 小石姐姐 于 2018-1-25 09:24 编辑
1.新建web项目:springmvc
2.导入springmvc需要的jar包
3.配置web.xml文件(核心代码)
<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属性名字一样
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 } |
|