zoukankan      html  css  js  c++  java
  • springmvc登陆示例(非注解)

    说好的一周一篇呢,说好的要努力呢!又失言了,以后再也不说大话了!

    今天通过示例对springmvc流程就行了解,在这里做个记录。

    springmvc的实现流程,总共4步,下面就分布进行记录:

    环境:

     JDK1.8

     Tomcat:8.0

     win7 

    第一步:首先创建一个Javaweb工程然后把springmvc所需的jar添加到工程目录“WEB-INF/lib”下。

      jar包可以从网上下载,我这里是4.2版本的。

      创建工程图如下:

      

      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;
        }
        
        
    }

    通过配置映射来查找控制器有三种方法,上面是采用的默认方法,下面对三种方法进行说明:

     1 <!-- 配置controller -->
     2     <bean id="login" name="/login.do" class="com.zgy.control.logincontrol" ></bean>    
     3       
     4       <!-- 配置映射处理器 :第一种方法通过name来映射寻找controller (默认) -->          
     5       <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>      
     6   
     7       <!--配置映射处理器:第二种方法通过简单URL来查找controller -->
     8       <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
     9           <property name="mappings">
    10               <props>
    11                   <prop key="login1.do">login</prop>   
    12               </props>          
    13           </property>      
    14       </bean>
    15            
    16       <!-- 配置映射处理器:第三种方法控制类的类名控制器,访问时类名首字母需要小写  -->
    17     <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
    18        
    19       

    三种方法说明:

      第一种方法:默认的是通过name来查找,action的值和控制器的name的值相同,这里都是“login.do”

      第二种方法:是采用url进行查找,key值要和action值相同  value值和bean的id相同

      第三种方法:通过类名来进行查找,访问时将action的url 替换成 “类名.do”。

  • 相关阅读:
    Windows如何上传代码到Github
    MSSQL的简单盲注
    各种类型文件头标准编码(转)
    Apache Flex BlazeDS(CVE-2017-5641)AFM3反序列化
    TSec《mysql client attack chain》
    # marshalsec使用
    # JDK7+ MethodHandle
    # CVE-2019-2725反序列化漏洞补丁绕过分析
    #LOF算法
    # URL异常检测
  • 原文地址:https://www.cnblogs.com/zhaoguoying/p/11382053.html
Copyright © 2011-2022 走看看