说好的一周一篇呢,说好的要努力呢!又失言了,以后再也不说大话了!
今天通过示例对springmvc流程就行了解,在这里做个记录。
springmvc的实现流程,总共4步,下面就分布进行记录:
环境:
JDK1.8
Tomcat:8.0
win7
第一步:首先创建一个Javaweb工程然后把springmvc所需的jar添加到工程目录“WEB-INF/lib”下。
jar包可以从网上下载也可以点击
创建工程图如下:
index.jsp页面代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>com.zgy</title> </head> <body> <form action="login.do" > <h1>欢迎来到登录界面</h1> 帐号:<input type="text" name="userName"><br><br> 密码:<input type="password" name="passWord"><br><br> <input type="submit" name="button" value="登录"> </form> </body> </html>
第二步:配置web.xml
配置前段控制器,配置效果如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>springMVC1</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置前段控制器 --> <servlet>
<servlet-name>springmvc</servlet-name> //名字自己定义 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <!-- 定义映射文件 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> //名字要和上面的名字相同 <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
第三步:配置springmvc核心配置:springmvc-servlet.xml
文件名是根据前面web.xml定义的servlet名字后面加“-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: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-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"> <!-- 配置控制器 --> <bean id="login" name="/login.do" class="com.zgy.control.logincontrol" ></bean> //class是控制器类所在的路径 <!-- 配置试图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/"></property> //返回显示视图文件的前缀,我这里是在jsp文件夹下的 <property name="suffix" value=".jsp"></property> //后缀 </bean> </beans>
第四步:编写控制器类,控制器类必须继承AbstractController接口然后重写handleRequestInternal方法。
然后再通过ModelAndView mavmav = new ModelAndView("success");返回页面 “success”是返回页面的名字
代码如下:
package com.zgy.control; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class logincontrol extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav; if("admin".equals(request.getParameter("userName"))) { if("123".equals(request.getParameter("passWord"))){ mav = new ModelAndView("success"); }else { mav = new ModelAndView("erro"); } }else { mav = new ModelAndView("erro"); } return mav; } }