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

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

测试 结果:

使用其他方式传递:

/**
   * 返回的是一个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之用户查询代码详解

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

(0)

相关推荐

  • 详解springmvc控制登录用户session失效后跳转登录页面

    springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml <session-config> <session-timeout>15</session-timeout> </session-config> 第二步,配置spring-mvc.xml <!-- Session失效拦截 --> <mvc:interceptors> <!-- 定义拦截器 --> <

  • webix+springmvc session超时跳转登录页面

    引言 最近做项目,发现ajax请求不能在服务器中直接重定向到登录页面.查了些资料发现jquery的ajax请求有人给出了方法.但是webix的ajax请求和jquery的有些区别.这里模仿jquery的处理方式实现webix的ajax请求session超时跳转. 具体的做法: 1.查看webix.js源码发现webix.ajax只有请求前的监听函数 "onBeforeAjax", 要做到获取返回状态跳转登录页面必须要有个返回的监听函数,但是源码没有.所以我修改了下源码,加了个返回的监听

  • SpringMVC拦截器实现登录认证

    博客以Demo的形式讲诉拦截器的使用 项目结构如图: 需要的jar:有springMVC配置需要的jar和jstl需要的jar SpringMVC包的作用说明: aopalliance.jar:这个包是AOP联盟的API包,里面包含了针对面向切面的接口.通常spring等其它具备动态织入功能的框架依赖这个jar spring-core.jar:这个jar 文件包含Spring 框架基本的核心工具类.Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统

  • springmvc拦截器登录验证示例

    一开始,学了拦截器与过滤器,咋一看两者有点像,实际上两者有很大的不同.就用拦截器和过滤器分别做了登录验证试验,这次先说拦截器.下面是自己实践的一个实例: 在spring-mvc.xml中配置拦截器: <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/user/*"/> <!-- 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的 --> <bean

  • SpringMVC 实现用户登录实例代码

    SpringMVC的一个登陆小案例 准备工作 创建一个Dynamic Web Project(本人是Eclipse) 添加相关的jar包,构建路径 创建springMVC-servlet.xml,及完善web.xml 创建代码逻辑 目录结构如下 对于新手而言,有一个项目的完整的目录结构是多么幸福的一件事啊. 目录结构 个人建议:注意其中的springMVC-servlet.xml的位置.以及源代码包的名称. 代码实战 首先是大管家,web.xml: <?xml version="1.0&q

  • springmvc集成shiro登录权限示例代码

    一般的登录流程会有:用户名不存在,密码错误,验证码错误等.. 在集成shiro后,应用程序的外部访问权限以及访问控制交给了shiro来管理. shiro提供了两个主要功能:认证(Authentication)和授权(Authorization);认证的作用是证明自身可以访问,一般是用户名加密码,授权的作用是谁可以访问哪些资源,通过开发者自己的用户角色权限系统来控制. shiro的会话管理和缓存管理不在本文范围内. 下面通过登录失败的处理流程来介绍springmvc与shiro的集成. 项目依赖:

  • SpringMVC配置拦截器实现登录控制的方法

    SpringMVC读取Cookie判断用户是否登录,对每一个action都要进行判断.之前使用jstl标签在页面上判断session如果没有登录就使用如下代码跳转到登录页面. <c:if test="${sessionScope.login == null || sessionScope.login == false}"> <!-- 未登录 --> <c:redirect url="/login"/> </c:if>

  • springmvc下实现登录验证码功能示例

    总体思路,简单讲,就是后台生成图片同时将图片信息保存在session,前端显示图片,输入验证码信息后提交表单到后台,取出存放在session里的验证码信息,与表单提交的验证码信息核对. 点击验证码图片时,通过jquery重新请求后台生成验证码图片方法,更换图片. 首先在后端controller里,有这样一个方法: 路径为http://localhost:8888/RiXiang_blog/login/captcha.form,访问这个路径便可以通过response写入图片. @RequestMa

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

    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文件(核心代码)

  • Java编程思想对象的容纳实例详解

    Java提供了容纳对象(或者对象的句柄)的多种方式,接下来我们具体看看都有哪些方式. 有两方面的问题将数组与其他集合类型区分开来:效率和类型.对于Java来说,为保存和访问一系列对象(实际是对象的句柄)数组,最有效的方法莫过于数组.数组实际代表一个简单的线性序列,它使得元素的访问速度非常快,但我们却要为这种速度付出代价:创建一个数组对象时,它的大小是固定的,而且不可在那个数组对象的"存在时间"内发生改变.可创建特定大小的一个数组,然后假如用光了存储空间,就再创建一个新数组,将所有句柄从

  • Java编程实现月食简单代码分享

    用java的框架和面板的知识做的一个展示月食过程的小程序.这里的想法就是先把背景设置成黑色,然后画一个黄色的圆作为月亮,接着画一个黑色的圆,将它的y坐标与月亮相同,让这个x不断的自增,(这个x代表的是fillArc()里面的那个其实位置坐标)然后很关键的两个方法是sleep()和repaint()这两个,它们可以近似于让屏幕的内容不断的刷新,当与月亮重合时,黑色就会覆盖掉黄色,这样就让人觉得是月亮在变化. 有兴趣的朋友可以添加更多元素在里面. import javax.swing.JFrame;

  • Java编程通过匹配合并数据实例解析(数据预处理)

    本文研究的主要是Java编程通过匹配合并数据(数据预处理)的相关内容,具体如下. 数据描述 以下程序是对如下格式的数据进行合并处理. 这个表的每一行表示用户id及用户的特征.其中,一个用户只有一个特征向量,即第一列不会重复. 这张表的第一列,表示用户的id,第二列表示用户所看的电影,第三列表示用户对电影的打分(1-13分),第四列表示用户对电影的打分,但分值范围是1-5分. 问题描述 在做数据预处理时,如何将第二张表添加上用户特征呢?其实,方法很简单,将第二张表的用户id与第一张表的用户id进行

  • Java编程探索之泛型擦除实例解析

    1.问题引出 源码: public static void main(String[] args) { List<Integer> a = new ArrayList<Integer>(); List<String> b = new ArrayList<String>(); System.out.println(a.getClass() == b.getClass());//结果true } 编译后L public static void main(Stri

  • Java编程实现打印螺旋矩阵实例代码

    直接上代码吧. 昨晚腾讯在线测试遇到的题. 螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环. import java.util.Scanner; public class mysnakematrix { private int n; // private int a[][]; // 声明一个矩阵 private int value = 1; // 矩阵里数字的值 public mysnakematrix(int i) { this.n

  • Java对时间的简单操作实例

    本文实例讲述了Java对时间的简单操作方法.分享给大家供大家参考.具体分析如下: 这里所用的Date指的是java.util.Date. ps:使用java操作时间感觉真真蛋疼,还是我大C#舒服,一个DateTime全部搞定 获取当前时间: 复制代码 代码如下: // 创建一个当前时间的Date对象 Date time = new Date(); 蛋疼的地方,对时间增.减操作: 复制代码 代码如下: // 使用Calendar类对时间增.减操作 Calendar c = Calendar.get

  • java Swing组件setBounds()简单用法实例分析

    本文实例讲述了java Swing组件setBounds()简单用法.分享给大家供大家参考,具体如下: 先看API: public void setBounds(Rectangle r) 移动组件并调整其大小,使其符合新的有界矩形 r.由 r.x 和 r.y 指定组件的新位置,由 r.width 和 r.height 指定组件的新大小 参数: r - 此组件的新的有界矩形 从API来看,该方法的作用相当于setLocation()与 setSize()的总和.在实际使用时,需将容器的layout

  • java 线程方法join简单用法实例总结

    本文实例讲述了java 线程方法join简单用法.分享给大家供大家参考,具体如下: 虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行.具体看代码: public class JoinTest { public static void main(String [] args) throws InterruptedExcepti

  • java循环练习的简单代码实例

    ★打印九九乘法表 复制代码 代码如下: public class TestDemo {     public static void main(String[] args){         for(int b=1;b<10;b++){             for(int a=1;a<=b;a++)                 System.out.print(a+"*"+b+"="+a*b+"\t");           

随机推荐