MyEclipse整合SSH简单登录范例.docx

上传人:b****8 文档编号:10340399 上传时间:2023-02-10 格式:DOCX 页数:38 大小:533.94KB
下载 相关 举报
MyEclipse整合SSH简单登录范例.docx_第1页
第1页 / 共38页
MyEclipse整合SSH简单登录范例.docx_第2页
第2页 / 共38页
MyEclipse整合SSH简单登录范例.docx_第3页
第3页 / 共38页
MyEclipse整合SSH简单登录范例.docx_第4页
第4页 / 共38页
MyEclipse整合SSH简单登录范例.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

MyEclipse整合SSH简单登录范例.docx

《MyEclipse整合SSH简单登录范例.docx》由会员分享,可在线阅读,更多相关《MyEclipse整合SSH简单登录范例.docx(38页珍藏版)》请在冰豆网上搜索。

MyEclipse整合SSH简单登录范例.docx

MyEclipse整合SSH简单登录范例

MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例

1. 准备

  工具:

MyEclipse5.1.0GA、Tomcat5.5

环境:

Struts1.1、Spring1.2、Hibernate3.1、sqlserver2000

1.1. 新建工程

  本范例使用最简单的登录模块来实践SSH的开发,旨在体会和入门SSH技术的整合

操作:

[Menu]File/New/WebProject

  工程名:

login

 

2.Struts 部分

2.1. 添加 Struts 功能支持

  操作:

[Menu]MyEclipse/ProjectCapabilities/AddStrutsCapabilities

 

 

 

修改web.xml?

?

?

?

?

?

我没弄

  

    

        /WEB-INF/struts-html

        /WEB-INF/struts-html.tld

    

  

分别创建index.jsp、login.jsp、success.jsp先不对jsp页面做任何修改

2.2. 创建 ActionForm 类

  操作:

[Ctrl+N]MyEclipse/Web-Struts/Struts1.1Form

  类名:

LoginForm

 

  在 "FormProperties" 选项卡为 loginForm 新增两个属性:

username、password;

2.3. 创建 Action 类

  类名:

LoginAction

 

在 "Form" 选项卡的 "Name" 项选择 "loginForm","InputSource" 项输入 "/login.jsp"。

在Forwards中创建两个forward对象

success登录成功,跳转到success.jsp  fail登录失败,跳转到login.jsp重新登录

此时struts-config.xml代码如下

xml version="1.0" encoding="UTF-8"?

>

DOCTYPE struts-config PUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.1//EN" "http:

//jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

 

  

  

    

  

  

  

  

    

        path="/login"

        input="/login.jsp"

        name="loginForm"

        type="struts.action.LoginAction">

        

        

    

  

  

2.4. 修改jsp 文件

  index.jsp代码

<%@ page language="java" pageEncoding="UTF-8"%>

<%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>

 

DOCTYPE HTML PUBLIC "-//W3C//DTDHTML4.01Transitional//EN">

html locale="true">

  

    

base />

  

  

    

form action="login" method="post" focus="username">

      

        

          Name:

          

text property="username" />

        

        

          Password:

          

password property="password" />

        

        

          

submit />

        

      

    

form>

  

html>

 

login.jsp代码(其它代码相同)

  

    

errors/>

    

form action="login" method="post" focus="username">

      

        

          Name:

          

text property="username" />

        

        

          Password:

          

password property="password" />

        

        

          

submit />

        

      

    

form>

  

 

success.jsp代码

    

welcome!

!

!

  

2.5. 修改资源文件

  ApplicationResources.properties文件如下

#Resourcesforparameter'ApplicationResources'

#Projectlogin

errors.header= 

ValidationError

    errors.footer= 


error.name.required= 

  • "{0}"isnotacorrectname,pleaseinputnameagain
  • error.password.required= 

  • "{0}"isnotacorrectpassword,pleaseinputpasswordagain
  • error.nameOrPassword.required= 

  • nameorpasswordnotcorrect
  •  

    2.6. 修改 LoginAction.java 文件

      修改 LoginAction 类的 execute 方法:

        public ActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){

            LoginFormloginForm=(LoginForm)form;// TODO Auto-generatedmethodstub

            Stringusername=loginForm.getUsername();

            Stringpassword=loginForm.getPassword();

           

            ActionErrorserrors= new ActionErrors();

            if("aaron".equals(username)&&"123".equals(password)){

                return mapping.findForward("success");

            }

            else{

                errors.add("name", new ActionError("error.name.required",username));

                errors.add("password", new ActionError("error.password.required",password));

                saveErrors(request,errors);

                return mapping.findForward("fail");

            }

        }

    Action的流程是:

    如果用户名密码分别为aaron和123则跳转到登录成功页面success.jsp显示welcom!

    !

    !

    ,否则,简单的标记为用户名和密码错误,并跳转到login.jsp页面,显示错误信息并重新登录

    2.7. 测试

      操作:

    [Menu]Run/Run(用 MyEclipseServerApplication 方式运行)

      在 index.jsp 页面输入 "aaron/123",登录成功;输入 "aaron/1111" ,跳转到 login.jsp 页面。

      如果测试成功,证明 Structs 运行正常。

    3.Spring 部分

    3.1. 添加 Spring 功能支持

      操作:

    [Menu]MyEclipse/ProjectCapabilities/AddSpringCapabilities

     

     

      开发包(libraries)选择 "Spring1.2AOPLibraries、Spring1.2CoreLibraries两项;

      JARLibraryInstallation 选择 "copychecked..." ,"LibraryFolder" 项选择 "/WebRoot/WEB-INF/lib"(这样的话所需的类库都将拷贝到项目目录,方便以后的布署)。

     

    点击 "下一步(Next)" 创建配置文件,修改文件路径(Folder)到 "src" 目录,文件名称为默认的"applicationContext.xml"。

     

    选择完成,

     

    选择KeepExisting,成功导入Spring功能

    注意:

    查看构建路径中有没有spring.jar包,很多情况下MyEclipse都没有导入这个包,如果没有则导入相同版本的spring.jar包

     导入spring.jar包(1.2.9)

    3.2. 配置 struts-config.xml 文件

      添加 Spring 插件(在  标签后面添加):

    xml version="1.0" encoding="UTF-8"?

    >

    DOCTYPE struts-config PUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.1//EN" "http:

    //jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

     

      

      

        

      

      

      

      

        

            path="/login"

            input="/login.jsp"

            name="loginForm"

            type="org.springframework.web.struts.DelegatingActionProxy">

            

            

        

      

     

      

     

      

        

      

      粗体字部份为修改的内容,这里将使用 spring 的代理器 DelegatingActionProxy 来对 Action 进行控制。

    注:

    如果applicationContext.xml部署在src目录下,则对应发布后的目录为/WEB-INF/classes下

    property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>

    与系统属性文件ApplicationResources不同,虽然文件发布后的路径也为/WEB-INF/classes

    但是却可以如下配置

     

    3.3. 修改 Spring 配置文件 applicationContext.xml

    xml version="1.0" encoding="UTF-8"?

    >

    DOCTYPE beans PUBLIC "-//SPRING//DTDBEAN//EN" "http:

    //www.springframework.org/dtd/spring-beans.dtd">

        

      粗体字是关于接受和处理 Action 控制权的配置内容,"com.login.struts.action.LoginAction" 即为原 struts 里的配置。

    3.4. 增加log4j日志功能

    增加日志功能方便调试程序,log4j.properties文件如下

    log4j.rootLogger=INFO,A1,R

     

    log4j.appender.A1=org.apache.log4j.ConsoleAppender

    log4j.appender.A1.layout=org.apache.log4j.PatternLayout

    log4j.appender.A1.Threshold=FATAL

    log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-ddHH:

    mm:

    ss}[%c]-[%p]%m%n

    #R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。

    log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

    #详细日志文件保存在C盘目录下的login.log文件中

    log4j.appender.R.File=c:

    /login.log

    log4j.appender.R.Encoding=GBK

    log4j.appender.R.Threshold=INFO

    log4j.appender.R.DatePattern='.'yyyy-MM-dd

    log4j.appender.R.layout=org.apache.log4j.PatternLayout

    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-ddHH:

    mm}%5p%c{1}:

    %L:

    %m%n

    注意:

     AddStrutsCapabilities时并没有加入log4j.jar包,为了提供log4j功能,需要加上log4j.jar。

    这里是因为导入Spring的时候附带导入了log4j.jar包,所以此处不用再另外导入log4j.jar包

    3.5. 测试

      同上一次测试。

    测试成功证明 Spring 运行正常。

    4.Hibernate 部分

    下面开始 Hibernate 部分,将原例修改为使用数据库进行用户名/密码验证。

    4.1. 创建 sqlserver2000 数据库和表

      添加表其中有id(标识),username,和password字段:

    SQL代码如下:

    ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[users]')andOBJECTPROPERTY(id,N'IsUserTable')=1)

    droptable[dbo].[users]

    GO

     

    CREATETABLE[dbo].[users](

        [id][int]IDENTITY(1,1)NOTNULL,

        [username][varchar](50)COLLATEChinese_PRC_CI_ASNULL,

        [password][varchar](50)COLLATEChinese_PRC_CI_ASNULL

    )ON[PRIMARY]

    GO

      再添加一条记录:

    insertintouser_table(username,password)values('aaron','123')

    4.2. 创建 MyEclipse 数据库驱动(DBDriver)

      在 DBBrower 的菜单中选择 "New"

     

     

    "ProfileName" 项输入 "MyWeb" ,

    “Driver”项选择MicrosoftSQLServer

    "ConnectionURL" 为"jdbc:

    microsoft:

    sqlserver:

    //localhost:

    1433;DatabaseName=MyWeb"

    然后输入正确的用户名(UserName)和密码(Password)按实际情况输入;

      点击 "完成(Finish)"。

    接下去即可以添加Hibernate支持了。

    4.3. 添加 Hibernate 功能支持

      操作:

    [Menu]MyEclipse/ProjectCapabilities/AddHibernateCapabilities

     

     

     Hibernate 版本(HibernateSpecification)选择 "Hibernate3.1" ,开发包(libraries)选择 Hibernate3.1CoreLibraries、Spring1.2ORM/DAO/Hibernate3Libaries 两项;

     

    注:

    (如果出java.lang.NoClassDefFoundError:

    org/hibernate/cfg/HbmBinder$SecondPass异常,则是因为导入的包hibernate3.jar和 hibernate-annotations.jar的冲突,直接删除hibernate-annotations.jar即可)

      JARLibraryInstallation 选择 "copychecked..." ,"LibraryFolder" 选择 "/WebRoot/WEB-INF/lib" 。

      点击 "下一步(Next)" 设置配置文件,选择 "Springconfigurationfile(applicationContext.xml)" 。

     

      "下一步(Next)" 设置 Spring-Hibernate,选择 "ExistingSpringconfigurationfile" ,"SessionFactoryID" 项输入 "sessionFactory" 。

     

      "下一步(Next)" 创建数据源对象,在 BeanId 中输入 dataSource,"DataSource" 项选择 "UseJDBCDirver" ,DBDriver 项选择 "MyWeb" ,其余项会自动填充;

      记得选中 "CopyDBdriverjar(s)toprojectandaddtobuidpath" 项,以便将数据连接的库文件复制到项目,方便以后的布署。

      "下一步(Next)" 创建 SessionFactory 类,"Javapackage" 项设置为 "hibernate"(没有则点击"New"按钮添加),"Cl

    展开阅读全文
    相关资源
    猜你喜欢
    相关搜索

    当前位置:首页 > 求职职场 > 简历

    copyright@ 2008-2022 冰豆网网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1