zoukankan      html  css  js  c++  java
  • springMVC简单实例

    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 }
    复制代码

    测试结果就不写了。

  • 相关阅读:
    二维数组
    ASCII_02_扩展
    ASCII_01
    【转】如何监控某个驱动器或目录及其下面的所有子目录的创建文件的动作
    webpack+vue2.0项目 (一) vue-cli脚手架
    分享两个常用的rem布局方式
    移动端border:1px问题解决方案
    sticky footer 布局
    用js数组实现最原始的图片轮播实现
    分享按钮(QQ,微信,微博等)移入动画效果
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7839042.html
Copyright © 2011-2022 走看看