新建一个登陆页面:loginActionSupport.jsp,代码例如以下

 





<%@page contentType="text/html;charset=GBK" isELIgnored="false"%>

 

<html>

 

<head><title>;实现用户登录实例,struts和Spring整合</title></head>

 

<body>





spring

<font size=’22’> $<br> </font> 

<form name="form1" action="/myLogin/loginActionSupportdo" method="post">

 

用户名:<input type="text" name="username" value="${user.username}"/><br>

 

密码:<input type="password" name="password" value="${user.password}"/><br>

 

<input type="submit" name=”method” value="提交"/>

 

</form>

 

</body>

 

</html>

 

创建一个存储登陆用户信息的类:User.java该类继承于ActionForm,代码例如以下:

 





package com.zhaosoft.bean;

 

import org.apache.struts.action.ActionForm;

 

public class User extends ActionForm{

 

private String username=null;

 

private String password=null;

 

public String getUsername() {

 

return username;

 

}

 

public void setUsername(String username) {

 

this.username = username;

 

}

 

public String getPassword() {

 

return password;





spring



public void setPassword(String password) {

 

this.password = password;

 

}

 

}

 

Com.zhaosoft.action中新建一个LoginActionSupport.java,该类不继承于struts的Action,而是继承于Spring的ActionSupport,代码示比例如以下:

 





package com.zhaosoft.action;

 

import javax.servlet.http.HttpServletRequest;

 

import javax.servlet.http.HttpServletResponse;

 

import org.apache.struts.action.ActionForm;

 

import org.apache.struts.action.ActionForward;

 

import org.apache.struts.action.ActionMapping;

 

import org.springframework.context.ApplicationContext;

 

import org.springframework.web.struts.ActionSupport;

 

import com.zhaosoft.bean.User;





spring

import com.zhaosoft.domain.Login; 

public class LoginActionSupport extends ActionSupport {

 

public ActionForward execute(ActionMapping mapping,ActionFormform,

 

HttpServletRequest request,HttpServletResponse response)

 

throws Exception {

 

// 通过ApplicationContext获取配置文件

 

ApplicationContext ctx = getWebApplicationContext();

 

Login login = (Login) ctx.getBean("login");

 

login.login((User) form);





spring

request.setAttribute("msg",login.getMsg()); 

request.setAttribute("user",(User) form);

 

return mapping.findForward("login");

 

}

 

}

spring应用实例的更多相关文章

  1. spring得到实例和new一个实例,哪个快?

    spring配置的bean是默认单例,那么在程序中,得到一个实例一定比创建一个实例的速度快,也更加省资源.今天实际测试的时候发现,new 一个对象比spring得到一个对象快多了.后面自己又加了个单例 ...

  2. Spring Security4实例(Java config版)——ajax登录,自定义验证

    本文源码请看这里 相关文章: Spring Security4实例(Java config 版) -- Remember-Me 首先添加起步依赖(如果不是springboot项目,自行切换为Sprin ...

  3. Spring Security4实例(Java config 版) —— Remember-Me

    本文源码请看这里 相关文章: Spring Security4实例(Java config版)--ajax登录,自定义验证 Spring Security提供了两种remember-me的实现,一种是 ...

  4. Spring Aop实例@Aspect、@Before、@AfterReturning@Around 注解方式配置

    用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before.@Around和@After等advice.最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了A ...

  5. SSH---整合Struts2&Spring&Hibernate(实例)

    一.SSH回顾 Struts2:核心为过滤器+拦截器.过程:Filter--->FilterDispatcher-->ActionMapper-->ActionProxy--> ...

  6. Spring事物实例

    Spring事务实例: entity实体类: public class Accounts { private int accountid; private String accountname; pr ...

  7. Spring登录实例

    Spring登录实例 项目结构 首先看一下整个项目的目录结构,如下: 导入Jar包 工欲善必先利其器,导入一下Jar包 配置文件 web.xml 配置 web.xml配置文件,如下: xmlns:xs ...

  8. Spring AOP实例——异常处理和记录程序执行时间

    实例简介: 这个实例主要用于在一个系统的所有方法执行过程中出线异常时,把异常信息都记录下来,另外记录每个方法的执行时间. 用两个业务逻辑来说明上述功能,这两个业务逻辑首先使用Spring AOP的自动 ...

  9. [Spring框架]Spring开发实例: XML+注解.

    前言: 本文为自己学习Spring记录所用, 文章内容包括Spring的概述已经简单开发, 主要涉及IOC相关知识, 希望能够对新入门Spring的同学有帮助, 也希望大家一起讨论相关的知识. 一. ...

  10. Redis+Spring缓存实例

    转自:小宝鸽 一.Redis了解 1.1.Redis介绍: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).lis ...

随机推荐

  1. 1、Java快速入门

    第一课 Java基础1. ubuntu上环境搭建 (建议使用我们提供的VMWare映象文件) 如果要自己安装ubuntu, 请参考<韦东山Android系统视频使用手册.pdf> ubun ...

  2. VS2012 打包部署程序

      一. 下载 InstallShield 2015(支持VS2012) VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具:  InstallShield2015 ...

  3. Delegates, Events and Singletons with Unity3D – C#

     在这里我将演示怎样创建代表. 事件和Singletons 在一起工作. 本教程为 Unity3D 编写. 我想知道这为什么?作为一个年轻的自学程序猿,我常常发现自己写tons 和布尔的语句,以确 ...

  4. Textillate.js有什么用及使用实例

    Textillate.js有什么用及使用实例 一.总结 一句话总结:Textillate.js – 实现动感的 CSS3 文本动画的简单插件 二.textillate.js 文字动画 textilla ...

  5. if..... if..... 和if..... else if.....

    曾经一度认为没有区别,,在有的时候是没有区别的,,但是有些时候则不可相互替换 这两个是有区别的 if..... if..... 是不相关的.只要各自判断两部分的条件即可,两个都会执行 if.... e ...

  6. 观CSDN站点小Bug有感

            今天早上在浏览博客的时候偶然发现CSDN博客的数据出现了异常,我也是头一次看到这么明显的Bug.详细什么表现呢?先来看个截图.例如以下:             常常看CSDN博客的人 ...

  7. Android Studio SVN使用和VisualSVN-Server配置(图解)

    转载请标明出处: http://blog.csdn.net/zq2114522/article/details/51078544: 本文出自:[梁大盛的博客] Android Studio SVN使用 ...

  8. Jcaptca 图片

    http://www.oschina.net/code/snippet_89964_6009 http://blog.csdn.net/tender001/article/details/846969 ...

  9. js中如何删除某个元素下面的所有子元素?(两种方法)

    js中如何删除某个元素下面的所有子元素?(两种方法) 一.总结 方法一:通过元素的innerHTML属性 元素element.innerHTML=""; 方法二:通过元素的remo ...

  10. [Ramda] Get Deeply Nested Properties Safely with Ramda's path and pathOr Functions

    In this lesson we'll see how Ramda's path and pathOr functions can be used to safely access a deeply ...