<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2008年2月>
    272829303112
    3456789
    10111213141516
    17181920212223
    2425262728291
    2345678

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    正如很多J2ee一樣,這個程序功能非常簡單就是實現登陸驗證,代碼也十分簡單,但是,編寫的時候經常出錯,原因是一些小地方沒注意到。這里提供程序的下載并,提供部分重點容忽視代碼的解釋。

    如何讓spring和struts融合在一起?寫代碼過程中一篇來自IBM的文章給了我很大的幫助,下面對我的這個程序做簡要說明

    該步驟可以在兩個地方實現
    第一,每個web工程都有一個web.xml配置文件,這個文件在Tomcat啟動的時候會被Tomcat加載,和很多配置文件的原理一樣,這個文件為Tomcat和Tomcat建立了一個通訊渠道,所以,我們需要在里面做些配置,通過它去告訴Tomcat服務器,我們這個web工程里用了struts和spring,具體的方法是:
    告訴它我們用了stucts

        <servlet>
            
    <servlet-name>action</servlet-name>
            
    <servlet-class>
                org.apache.struts.action.ActionServlet
            
    </servlet-class>
            
    <init-param>
                
    <param-name>config</param-name>
                
    <param-value>/WEB-INF/struts-config.xml</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>debug</param-name>
                
    <param-value>3</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>detail</param-name>
                
    <param-value>3</param-value>
            
    </init-param>
            
    <load-on-startup>0</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>action</servlet-name>
            
    <url-pattern>*.lusm</url-pattern>
        
    </servlet-mapping>

    和它說我們用了spring

        <servlet>
            
    <servlet-name>context</servlet-name>
            
    <servlet-class>
                org.springframework.web.context.ContextLoaderServlet
            
    </servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
        
    <context-param>
            
    <param-name>contextConfigLocation</param-name>
            
    <param-value>/WEB-INF/applicationContext.xml</param-value>
        
    </context-param>
    其實就是把struts和spring對應的兩個xml配置文件,注入到里面,這樣web容器就知道我們用了struts和spring啦?。。?br />
    第二、在代碼中整合srping和struts。
    我們記得在寫struts的****Action的時候,這個Action通常繼承自org.apache.struts.action.Action ,但現在情況不同啦?。?!正所謂識時務者為英雄,既然我們要使用sping了,就不可墨守成規,實際使用中我們讓Action繼承org.springframework.web.struts.ActionSupport,注意這對我們后面的,通過spring的ApplicationContext con =  getWebApplicationContext(); 起了關鍵作用,通過它我們可以讓spring通過web.xml獲取/WEB-INF/applicationContext.xml獲取配置信息,從而獲取一個通過spring實例化的bean---user,接著,我們拿出struts中實例化的另一個實例(通過我們提交的數據,實例化的bean)userForm下面是代碼:(注意其中的new String(  )方法)

    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     
    */

    package com.lusm.struts.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 com.lusm.struts.form.UserForm;

    import org.springframework.context.ApplicationContext;
    import org.springframework.web.struts.ActionSupport;

    public class UserLoginAction extends ActionSupport{
        
    /*
         * Generated Methods
         
    */

        
    //這個是必然會執行的
        public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) 
    {
            ApplicationContext con 
    =  getWebApplicationContext(); 
            UserForm userForm 
    = (UserForm) form;
            
            UserForm user 
    = (UserForm)con.getBean("User");
            
            
    if(new String(userForm.getName()).equals(new String(user.getName()))
                    
    &&
               
    new String(userForm.getPasswd()).equals(new String(user.getPasswd())))
            
    {
                System.out.println(
    "驗證成功");
                
    return mapping.findForward("success");
            }

            
    else{
                System.out.println(
    "驗證失敗");
                
    return mapping.findForward("error");
            }

        }

    }

    運行結果:



    其中的jar太大了請自己去官方下載:


    程序下載:
       __download__




    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2008-02-26 18:33 小尋 閱讀(1089) 評論(1)  編輯  收藏 所屬分類: j2se/j2ee/j2me

    FeedBack:
    # re: Structs && Spring 登陸實驗 2008-03-22 18:02 幻想~@@~

    如何在servlet使用session,以上面的代碼為例
    UserLoginAction.java里做如下更改:

     

    //>>>>>>>>>>部分代碼>>>>>>>>>>>>>>>>>
            HttpSession session = request.getSession(true);
            response.setContentType("text/html");
            
            UserForm userForm 
    = (UserForm) form;
            
            UserForm user 
    = (UserForm)con.getBean("User");
            
            
    if(new String(userForm.getName()).equals(new String(user.getName()))
                    
    &&
               
    new String(userForm.getPasswd()).equals(new String(user.getPasswd())))
            
    {
                session.setAttribute(" username ",user.getName());
                System.out.println("驗證成功");
                
    return mapping.findForward("success");
            }

    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


    在所有jsp或servlet頁面都可以使用

    ${username}//將username的值取出來,這里是"lusm"
      回復  更多評論
      
    主站蜘蛛池模板: 免费人成视频在线观看视频| 亚洲综合色成在线播放| 美女被羞羞网站免费下载| 国产亚洲精午夜久久久久久| 91精品导航在线网址免费| 一本天堂ⅴ无码亚洲道久久| 亚洲精品无码99在线观看 | 久久亚洲精精品中文字幕| 天堂在线免费观看中文版| 久久免费香蕉视频| 亚洲乱码一区二区三区国产精品| 亚洲国产精品专区在线观看 | 未满十八18禁止免费无码网站 | 91情国产l精品国产亚洲区| 日韩高清在线高清免费| 人人玩人人添人人澡免费| 99亚洲精品卡2卡三卡4卡2卡| 亚洲视频2020| 免费A级毛片无码A∨男男| 国产成人免费高清激情明星| 又硬又粗又长又爽免费看| 亚洲国产熟亚洲女视频| 亚洲av午夜成人片精品网站| 免费国产不卡午夜福在线| 久草免费在线观看视频| 中文字幕成人免费高清在线| 亚洲精品国产首次亮相| 亚洲美女视频一区| 亚洲精品成人片在线播放| 免费观看国产精品| 免费看国产成年无码AV片| 日本在线看片免费人成视频1000| 一级中文字幕免费乱码专区| 亚洲色成人网站WWW永久四虎| 亚洲首页在线观看| 亚洲国产精品无码成人片久久| www.91亚洲| 国产乱子伦精品免费女| 毛片大全免费观看| 国产精品久久久久免费a∨ | 成人国产mv免费视频|