欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java编程实现springMVC简单登录实例

程序员文章站 2024-04-03 17:52:34
spring mvc属于springframework的后续产品,已经融合在spring web flow里面。spring 框架提供了构建 web 应用程序的全功能 mv...

spring mvc属于springframework的后续产品,已经融合在spring web flow里面。spring 框架提供了构建 web 应用程序的全功能 mvc 模块。使用 spring 可插入的 mvc 架构,从而在使用spring进行web开发时,可以选择使用spring的springmvc框架或集成其他mvc开发框架,如struts1,struts2等。

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服务器并运行。

测试 结果:

Java编程实现springMVC简单登录实例

Java编程实现springMVC简单登录实例

使用其他方式传递:

/**
   * 返回的是一个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

package com.wjl.bean;

public class users {  
  private string username;
  private string password;
  public string getusername() {
    return username;
  }
  public void setusername(string username) {
    this.username = username;
  }
  public string getpassword() {
    return password;
  }
  public void setpassword(string password) {
    this.password = password;
  }

}

测试结果就不写了。

踏实一些,不要着急,你想要的,岁月都会给你

总结

以上就是本文关于java编程实现springmvc简单登录实例的全部内容想,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

spring mvc实现的登录拦截器代码分享

springmvc拦截器实现监听session是否过期详解

springmvc开发restful api之用户查询代码详解

如有不足之处,欢迎留言指出。