java實(shí)現(xiàn)登陸代碼 用java實(shí)現(xiàn)登錄程序
實(shí)現(xiàn)界面登陸,退出功能的java代碼怎么寫?
CS結(jié)構(gòu)系統(tǒng)的退出如下:public void init() {\x0d\x0a this.setTitle("用戶登錄界面");\x0d\x0a this.add(createCenterPane());\x0d\x0a this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);\x0d\x0a this.setSize(new Dimension(450, 335));\x0d\x0a this.setLocationRelativeTo(null);\x0d\x0a // this.setVisible(true);\x0d\x0a this.addWindowListener(new WindowAdapter() {\x0d\x0a public void windowClosing(WindowEvent e) {\x0d\x0a int choose = JOptionPane.showConfirmDialog(null, "是否要退出登錄界面?",\x0d\x0a "系統(tǒng)提示:", JOptionPane.YES_NO_OPTION);\x0d\x0a if (choose == JOptionPane.YES_OPTION) {\x0d\x0a System.exit(1);\x0d\x0a }\x0d\x0a }\x0d\x0a });\x0d\x0a }其中this為JFrame對(duì)象。BS結(jié)構(gòu)的退出直接用windows.close()方法就行了!
Java實(shí)現(xiàn)網(wǎng)頁自動(dòng)登錄
我不得不使用好幾個(gè)系統(tǒng) 都是B/S結(jié)構(gòu)的 每次登錄都需要輸入用戶名和密碼 覺得非常麻煩 考慮到其他同事也會(huì)有這樣的需求 不妨就寫個(gè)自動(dòng)登錄的程序吧 之前 也考慮過使用單點(diǎn)登錄 幾經(jīng)嘗試之后還是放棄了
我習(xí)慣使用Java 本能地開始尋找Java的解決方法 在Google中輸入 Java自動(dòng)登錄 Java網(wǎng)頁模擬登錄 Java Post 登錄 結(jié)果倒是不少 內(nèi)容也差不多 我嘗試很多次終究也沒有達(dá)到我預(yù)期的目標(biāo) 后來 我都不知道這些代碼應(yīng)該在jsp頁面中執(zhí)行還是在c/s結(jié)構(gòu)的程序中執(zhí)行 但這些代碼確實(shí)管用
我們先分析一下代碼
String surl = ;
URL url = newURL(surl)
URLConnection conn= url openConnection()
conn setDoOutput(true)
OutputStreamWriterout=new OutputStreamWriter(conn getOutputStream())
String str = username=yournamepassword= ;
out write(str)
out flush()
out close()
到這里 如果在C/S結(jié)構(gòu)中 且參數(shù)正確 程序能夠成功登錄到這個(gè)oa系統(tǒng) 要看到結(jié)果 你可以通過下面的代碼將系統(tǒng)服務(wù)器返回的結(jié)果System out println()出來
String sling = ;
String scontent = ;
BufferedReader in = new BufferedReader(newInputStreamReader(conn getInputStream() UTF ))
while ((sling = in readLine())!= null)
scontent += in + \r\n ;
System out println(scontent)
在C/S結(jié)構(gòu)下 可以到得到控制臺(tái)輸出了返回值 從返回內(nèi)容里可以看出程序已經(jīng)成功登錄 但要是把這個(gè)網(wǎng)址瀏覽器打開 還是得重新登錄 問題沒有得到根本解決 如果只是惡意注冊(cè) 到這里應(yīng)該就達(dá)到目的了 [nextpage]
看樣子C/S結(jié)構(gòu)下不容易實(shí)現(xiàn)網(wǎng)頁程序自動(dòng)登錄 除非你在C/S程序中內(nèi)嵌一個(gè)瀏覽器 直接在這個(gè)瀏覽器中自動(dòng)訪問系統(tǒng) 應(yīng)該沒有別的方法 主要問題在于我們沒有辦法共享Session
為了便于共享Session 我們只能在瀏覽器中實(shí)現(xiàn)網(wǎng)頁自動(dòng)登錄 通過上面的代碼在jsp頁面中測試 達(dá)不到預(yù)期目標(biāo)
網(wǎng)頁自動(dòng)登錄 就是希望程序自動(dòng)填充用戶名和密碼 然后以Post方式提交給登錄頁面的Form所指向的action頁面或方法 我將系統(tǒng)的登錄頁面的源代碼保存成一個(gè)網(wǎng)頁 然后在username和password文本框中設(shè)置默認(rèn)值 然后通過這網(wǎng)頁登錄系統(tǒng) 測試后 發(fā)現(xiàn)可行 接下來 你可能已經(jīng)想到了解決方法
我們可以通過url openConnection()建立連接 將返回的scontent打印出來 然后接著打印以下代碼
out println( \r\n )
out println( document getElementsByName(\ username\ )[ ] value=yourname;\r\n )
out println( document getElementsByName(\ password\ )[ ] value= ;\r\n )
out println( document forms[ ] submit() \r\n )
out println( \r\n )
原理很簡單 通過login jsp將登錄頁面的全部源代碼寫在當(dāng)前頁面 然后使用javascript腳本將用戶名和密碼的值填充上 最后提交表單 這樣中 終于實(shí)現(xiàn)了自動(dòng)登錄的目標(biāo) 現(xiàn)在我通過一個(gè)特殊的網(wǎng)址 就可以自動(dòng)訪問這個(gè)oa了
lishixinzhi/Article/program/Java/hx/201311/25882
登陸界面的java代碼怎么寫?
import java.awt.*; \x0d\x0aimport javax.swing.*; \x0d\x0aimport java.awt.event.*; \x0d\x0aimport java.sql.*; \x0d\x0a\x0d\x0aclass LoginFrm extends JFrame implements ActionListener \x0d\x0a{ \x0d\x0aJLabel lbl1=new JLabel("用戶名"); \x0d\x0aJLabel lbl2=new JLabel("密碼"); \x0d\x0aJTextField txt=new JTextField(15); \x0d\x0aJPasswordField pf=new JPasswordField(); \x0d\x0aJButton btn1=new JButton("確定"); \x0d\x0aJButton btn2=new JButton("取消"); \x0d\x0a\x0d\x0apublic LoginFrm() \x0d\x0a{ \x0d\x0athis.setTitle("登陸"); \x0d\x0aJPanel jp=(JPanel)this.getContentPane(); \x0d\x0ajp.setLayout(new GridLayout(3,2,10,10)); \x0d\x0ajp.add(lbl1);jp.add(txt); \x0d\x0ajp.add(lbl2);jp.add(pf); \x0d\x0ajp.add(btn1);jp.add(btn2); \x0d\x0abtn1.addActionListener(this); \x0d\x0abtn2.addActionListener(this); \x0d\x0a} \x0d\x0a\x0d\x0apublic void actionPerformed(ActionEvent ae) \x0d\x0a{ \x0d\x0aif(ae.getSource()==btn1) \x0d\x0a{ \x0d\x0atry \x0d\x0a{ \x0d\x0aClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); \x0d\x0aConnection con=DriverManager.getConnection("jdbc:odbc:MyDB","",""); \x0d\x0aStatement cmd=con.createStatement(); \x0d\x0aResultSet rs=cmd.executeQuery("select * from loginAndpassword where login='"+txt.getText()+"' and password='"+pf.getText()+"'"); \x0d\x0aif(rs.next()) \x0d\x0a{ \x0d\x0aJOptionPane.showMessageDialog(null,"登陸成功!"); \x0d\x0a} \x0d\x0aelse \x0d\x0aJOptionPane.showMessageDialog(null,"用戶名或密碼錯(cuò)誤!"); \x0d\x0a} catch(Exception ex){} \x0d\x0a\x0d\x0aif(ae.getSource()==btn2) \x0d\x0a{ \x0d\x0atxt.setText(""); \x0d\x0apf.setText(""); \x0d\x0a} \x0d\x0a} \x0d\x0a} \x0d\x0a\x0d\x0apublic static void main(String arg[]) \x0d\x0a{ \x0d\x0aJFrame.setDefaultLookAndFeelDecorated(true); \x0d\x0aLoginFrm frm=new LoginFrm(); \x0d\x0afrm.setSize(400,200); \x0d\x0afrm.setVisible(true); \x0d\x0a} \x0d\x0a}
上一篇:java中定時(shí)評(píng)價(jià)代碼 java中定時(shí)評(píng)價(jià)代碼怎么寫
欄 目:Java編程
下一篇:沒有了
本文標(biāo)題:java實(shí)現(xiàn)登陸代碼 用java實(shí)現(xiàn)登錄程序
本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/17382.html
您可能感興趣的文章
- 04-12java中定時(shí)評(píng)價(jià)代碼 java中定時(shí)評(píng)價(jià)代碼怎么寫
- 04-12Java代碼的更新與刪除 java代碼的更新與刪除方法
- 04-12煙花特效java代碼 煙花特效cmd代碼制作
- 04-11背包問題java代碼 java解決背包問題
- 04-11java調(diào)用不同模塊代碼 java不同包怎樣調(diào)用
- 04-11java代碼建文件夾 java代碼創(chuàng)建文件
- 04-11java組件容器布局代碼 java設(shè)置組件位置
- 04-11java自增長代碼 java自增變量
- 04-11java輪播圖片代碼 java實(shí)現(xiàn)輪播圖
- 04-11Java代碼侵入性強(qiáng) java可以入侵系統(tǒng)嗎


閱讀排行
本欄相關(guān)
- 04-12java實(shí)現(xiàn)登陸代碼 用java實(shí)現(xiàn)登錄程序
- 04-12java中定時(shí)評(píng)價(jià)代碼 java中定時(shí)評(píng)價(jià)代
- 04-12Java代碼的更新與刪除 java代碼的更新
- 04-12煙花特效java代碼 煙花特效cmd代碼制作
- 04-11背包問題java代碼 java解決背包問題
- 04-11java調(diào)用不同模塊代碼 java不同包怎樣
- 04-11java代碼建文件夾 java代碼創(chuàng)建文件
- 04-11java組件容器布局代碼 java設(shè)置組件位
- 04-11java自增長代碼 java自增變量
- 04-11java輪播圖片代碼 java實(shí)現(xiàn)輪播圖
隨機(jī)閱讀
- 01-10使用C++實(shí)現(xiàn)順序鏈表
- 01-10Inline Hook(ring3)的簡單C++實(shí)現(xiàn)方法
- 01-10C#圖書管理系統(tǒng) 附源碼下載
- 01-11dedecms批量替換文章中超鏈接的方法
- 08-05修改dedecms織夢模板附件上傳大小限制
- 01-10C#實(shí)現(xiàn)將Doc文檔轉(zhuǎn)換成rtf格式的方法示
- 01-10SQL SERVER 2008 r2 數(shù)據(jù)壓縮的兩種方法
- 01-10C# WPF上位機(jī)實(shí)現(xiàn)和下位機(jī)TCP通訊的方
- 01-10HTML name id和class的區(qū)別
- 01-10C語言編程中分配內(nèi)存空間的相關(guān)函數(shù)