學(xué)歷小助手
快速提升學(xué)歷攻略、最新成考、自考、網(wǎng)絡(luò)、全日制政策一手掌握~
發(fā)布時(shí)間: 2025年01月09日 20:03
我使用幾系統(tǒng)都B/S結(jié)構(gòu)每登錄都需要輸入用戶名密碼覺(jué)非麻煩考慮其同事需求妨寫(xiě)自登錄程序吧前考慮使用單點(diǎn)登錄幾經(jīng)嘗試放棄
我習(xí)慣使用Java本能始尋找Java解決Google輸入Java自登錄、Java網(wǎng)頁(yè)模擬登錄、Java Post 登錄結(jié)倒少內(nèi)容差我嘗試終究沒(méi)達(dá)我預(yù)期目標(biāo)我都知道些代碼應(yīng)該jsp頁(yè)面執(zhí)行c/s結(jié)構(gòu)程序執(zhí)行些代碼確實(shí)管用
我先析代碼
String surl = ""
URL url = new URL(surl)
URLConnection conn = url.openConnection()
conn.setDoOutput(true)
OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream())
String str = "username=yourname&password=123456"
out.write(str)
out.flush()
out.close()
C/S結(jié)構(gòu)且參數(shù)確程序能夠功登錄oa系統(tǒng)要看結(jié)通面代碼系統(tǒng)服務(wù)器返結(jié)System.out.println()
String sling = ""
String scontent = ""
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"))
while ((sling = in.readLine()) != null)
scontent += in + "rn"
System.out.println(scontent)
C/S結(jié)構(gòu)控制臺(tái)輸返值返內(nèi)容看程序已經(jīng)功登錄要網(wǎng)址瀏覽器打重新登錄問(wèn)題沒(méi)根本解決惡意注冊(cè)應(yīng)該達(dá)目
看C/S結(jié)構(gòu)容易實(shí)現(xiàn)網(wǎng)頁(yè)程序自登錄除非C/S程序內(nèi)嵌瀏覽器直接瀏覽器自訪問(wèn)系統(tǒng)應(yīng)該沒(méi)別主要問(wèn)題于我沒(méi)辦共享Session
便于共享Session我能瀏覽器實(shí)現(xiàn)網(wǎng)頁(yè)自登錄通面代碼jsp頁(yè)面測(cè)試達(dá)預(yù)期目標(biāo)
網(wǎng)頁(yè)自登錄希望程序自填充用戶名密碼Post式提交給登錄頁(yè)面Form所指向action頁(yè)面或我系統(tǒng)登錄頁(yè)面源代碼保存網(wǎng)頁(yè)usernamepassword文本框設(shè)置默認(rèn)值通網(wǎng)頁(yè)登錄系統(tǒng)測(cè)試發(fā)現(xiàn)行接能已經(jīng)想解決
我通url.openConnection()建立連接返scontent打印接著打印代碼:
out.println("rn")
原理簡(jiǎn)單通login.jsp登錄頁(yè)面全部源代碼寫(xiě)前頁(yè)面使用javascript腳本用戶名密碼值填充提交表單終于實(shí)現(xiàn)自登錄目標(biāo)現(xiàn)我通特殊網(wǎng)址例自訪問(wèn)oa
能注意參數(shù)url值經(jīng)加密內(nèi)容用戶名密碼加效期即效期內(nèi)鏈接才效才實(shí)現(xiàn)自登錄
sqlBean 是在stuman.java文件中定義的嗎?是不是前面加了public修飾符?而且沒(méi)有放進(jìn)class Stuman里面,如果是這樣的話,就會(huì)出現(xiàn)編譯錯(cuò)誤。Java要求public class必須在對(duì)應(yīng)于自己名字的文件中被定義,除非是embedded class或者inner class
學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要本文以一個(gè)具體的應(yīng)用系統(tǒng)—學(xué)生選課信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)來(lái)說(shuō)明如何利用UML和EJB組件來(lái)設(shè)計(jì)和構(gòu)建分布式軟件系統(tǒng)平臺(tái)。UML和組件技術(shù)結(jié)合使用能提高開(kāi)發(fā)效率,增加系統(tǒng)的易維護(hù)性。關(guān)鍵詞UMLEJB實(shí)例1引言現(xiàn)在信息管理系統(tǒng)軟件的開(kāi)發(fā),采用組件技術(shù)可以提高效率,信息管理系統(tǒng)的分析設(shè)計(jì)也采用UML來(lái)進(jìn)行。兩者的結(jié)合可以極大的提高開(kāi)發(fā)效率,保證系統(tǒng)開(kāi)發(fā)的易維護(hù)性。本文用UML這種設(shè)計(jì)方法和EJB這種組件技術(shù)來(lái)設(shè)計(jì)和實(shí)現(xiàn)一個(gè)系統(tǒng)。2系統(tǒng)分析本系統(tǒng)設(shè)計(jì)為學(xué)生通過(guò)網(wǎng)頁(yè)登陸學(xué)校網(wǎng)站,進(jìn)行選課。下面用用例圖來(lái)說(shuō)明該系統(tǒng)要實(shí)現(xiàn)的功能。
2.1用例圖2.2系統(tǒng)總體結(jié)構(gòu)圖本系統(tǒng)采用三層體系結(jié)構(gòu),分為表示層,事務(wù)處理層,數(shù)據(jù)存儲(chǔ)層。三層結(jié)構(gòu)層次清晰,易維護(hù)。圖3類(lèi)圖學(xué)生選課系統(tǒng)涉及到三個(gè)實(shí)體類(lèi)學(xué)生,課程,以及學(xué)生和課程之間的一個(gè)一對(duì)多關(guān)系類(lèi)。對(duì)每一個(gè)類(lèi),映射到一張表。學(xué)生類(lèi)和課程類(lèi)用Container-ManagedEntityBean實(shí)現(xiàn),學(xué)生和課程間的一對(duì)多關(guān)系類(lèi),用Bean-ManagedPersistence的EntityBean實(shí)現(xiàn)。再設(shè)計(jì)一個(gè)SessionBean對(duì)學(xué)生選課過(guò)程進(jìn)行控制。頁(yè)面顯示部分用JSP實(shí)現(xiàn)。3數(shù)據(jù)庫(kù)設(shè)計(jì)學(xué)生表對(duì)應(yīng)學(xué)生實(shí)體,詳細(xì)內(nèi)容如下表1學(xué)生表關(guān)聯(lián)表對(duì)應(yīng)學(xué)生和課程間的一對(duì)多關(guān)系,詳細(xì)內(nèi)容如下研究開(kāi)發(fā)4實(shí)現(xiàn)4.1SessionBean的設(shè)計(jì)4.1.1定義HomeInterface4.1.2定義RemoteInterfacepublicinterfaceEnrollSessionextendsEJBObject{//-----//這是一個(gè)基于SessionBean的Remote接口,這個(gè)SessionBean是基于//Stateful的SessionBean,用來(lái)對(duì)特定學(xué)生選課的登記過(guò)程進(jìn)行操作//-----------------------------publicStringgetStudentName()throwsRemoteExceptionpublicvoidenroll(ArrayListcourseItems)throwsRemoteExcep-tionpublicvoidunenroll()throwsRemoteExceptionpublicvoiddeleteStudent()throwsFinderException,RemoteEx-ceptionpublicvoiddeleteCourse(Stringcourse_id)throwsRemoteExcep-tion}4.1.3Client獲取HomeInterface和RemoteInterface的參考方式,我們使用JNDI機(jī)制來(lái)獲取Home接口和Remote接口的對(duì)象參考。
4.1.4定義回調(diào)方法4.1.5實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)的連接使用JNDI機(jī)制,通過(guò)數(shù)據(jù)庫(kù)的JNDI名稱javacomp/env/jdbc/StudentCourseDB來(lái)連接后臺(tái)數(shù)據(jù)庫(kù)。
4.1.6SessionBean方法實(shí)現(xiàn)//定義變量publicStudentHomesHomepublicEnrollHomeeHomepublicStringstudent_idpublicStringname//回調(diào)方法實(shí)現(xiàn)publicvoidejbCreate(Stringstudent_id)throwsCreateException{try{Studentstudent=sHome.findByPrimaryKey(student_id)name=student.getName()}catch(ObjectNotFoundExceptione){thrownewCreateException(Student+student_id+notfoundinStudentTBL!)}catch(Exceptione){thrownewEJBException(e.getMessage())}this.student_id=student_id}//商業(yè)方法實(shí)現(xiàn)publicvoidenroll(ArrayListcourseItems){Enrollenroll=nulltry{enroll=eHome.findByPrimaryKey(student_id)}catch(Exceptione){}try{if(enroll!=null){enroll.replaceCourseItems(courseItems)}else{eHome.create(student_id,courseItems)}}catch(Exceptione){thrownewEJBException(e.getMessage())}}publicvoidunenroll(){try{Enrollenroll=eHome.findByPrimaryKey(student_id)enroll.remove()}catch(Exceptione){thrownewEJBException(e.getMessage())}}//涉及到對(duì)兩張表的刪除。publicvoiddeleteStudent()throwsFinderException{try{Enrollenroll=eHome.findByPrimaryKey(student_id)Studentstudent=sHome.findByPrimaryKey(student_id)enroll.remove()student.remove()}catch(Exceptione){thrownewEJBException(e.getMessage())}}publicvoiddeleteCourse(Stringcourse_id){PreparedStatementps=nulltry{getConnection()StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?andcourse_id=?ps=con.prepareStatement(deleteStatement)ps.setString(1,student_id)ps.setString(2,course_id)ps.executeUpdate()}catch(Exceptione){thrownewEJBException(e.getMessage())}finally{try{ps.close()con.close()}catch(Exceptione){thrownewEJBException(e.getMessage())}}}4.2EntityBean的設(shè)計(jì)我們以關(guān)聯(lián)表(EnrollTBL)對(duì)應(yīng)的實(shí)體Bean為例進(jìn)行說(shuō)明,它涉及到兩個(gè)表的一對(duì)多關(guān)系。
4.2.1定義Home接口4.2.2定義RemoteInterfacepublicinterfaceEnrollextendsEJBObject{//---------------//這是一個(gè)基于EntityBean的Remote接口,這個(gè)EntityBean是基于//Bean-ManagedPersistence的EntityBean,用來(lái)對(duì)EnrollTBL表進(jìn)行操作//--------------------------publicArrayListgetCourseItems()throwsRemoteExceptionpublicStringgetStudent_id()throwsRemoteExceptionpublicvoidreplaceCourseItems(ArrayListcourseItems)throwsRemoteException}4.2.3變量定義publicStringstudent_idpublicArrayListcourseItems4.2.4增加數(shù)據(jù)記錄實(shí)現(xiàn)publicStringejbCreate(Stringstudent_id,ArrayListcourseItems)throwsCreateException{if(courseItems==null||courseItems.size()==0){thrownewCreateException(ejbCreateexception!)}this.student_id=student_idtry{enroll(courseItems)}catch(Exceptione){thrownewEJBException(ejbCreateexception+e.getMessage())}this.courseItems=courseItemsreturnstudent_id}//根據(jù)學(xué)生ID,插入課程項(xiàng)。privatevoidenroll(ArrayListcourseItems)throwsSQLException{StringinsertStatement=insertintoEnrollTBLvalues(?,?)PreparedStatementps=con.prepareStatement(insertStatement)try{//------------//依次將所有的課程項(xiàng)目插入EnrollTBL表//------------------ps.setString(1,this.student_id)for(inti=0i<courseItems.size()i++){Stringcourse_id=(String)courseItems.get(i)ps.setString(2,course_id)ps.executeUpdate()}}finally{ps.close()}}//根據(jù)學(xué)生ID,刪除課程項(xiàng)privatevoidunenroll()throwsSQLException{StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?PreparedStatementps=con.prepareStatement(deleteStatement)try{ps.setString(1,student_id)ps.executeUpdate()}finally{ps.close()}}5部署和運(yùn)行5.1部署程序5.1.1部署StudentEntityBean,設(shè)置事務(wù)屬性,生成部署文件。
5.1.2同樣,再部署其他三個(gè)EJB組件EnrollSessionBean,CourseEntityBean,EnrollEntityBean。
5.1.3部署web組件5.1.4部署整個(gè)應(yīng)用程序5.2運(yùn)行啟動(dòng)J2EE服務(wù)器,啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器,打開(kāi)瀏覽器。學(xué)生登錄,即可選課。6結(jié)論組件技術(shù)使得復(fù)雜的多層結(jié)構(gòu)應(yīng)用系統(tǒng)開(kāi)發(fā)變得容易。采用組件技術(shù)能提高開(kāi)發(fā)人員的效率,降低軟件的開(kāi)發(fā)和維護(hù)成本,提高軟件的質(zhì)量,控制所構(gòu)建系統(tǒng)的復(fù)雜性。UML設(shè)計(jì)方法的使用能提高軟件設(shè)計(jì)的效率和保證設(shè)計(jì)的規(guī)范性。參考文獻(xiàn)[1]CraigLarman.UML和模式應(yīng)用-面向?qū)ο蠓治雠c設(shè)計(jì)導(dǎo)論[M].北京機(jī)械工業(yè)出版社,2003.10-100.[2]劉特.J2EEEJB應(yīng)用編程實(shí)例[M].北京清華大學(xué)出版社,2003.90-150.[3]GeriSchneider.用例分析技術(shù)[M].北京機(jī)械工業(yè)出版社,2003.1-98.
-----------------------------------------------
謝謝請(qǐng)采納:
不能發(fā)連接啊,請(qǐng)?jiān)诎俣?/p>
搜索‘珍惜知識(shí)網(wǎng)’點(diǎn)進(jìn)去就是了[ORDA]
我推薦你一些新穎的課題吧
基于JSP的萬(wàn)科新聞發(fā)布系統(tǒng)-java新聞發(fā)布系統(tǒng)javaweb新聞發(fā)布mysql數(shù)據(jù)源
基于SpringBoot+Redis的在線考試系統(tǒng)-java在線考試系統(tǒng)mysql數(shù)據(jù)源javaweb在線考試系統(tǒng)-javaEE在線考試系統(tǒng)
基于JSP的教學(xué)在線留言答疑系統(tǒng)-java教學(xué)在線留言答疑系統(tǒng)mysql數(shù)據(jù)源
基于SSM的教務(wù)管理系統(tǒng)(選課課程評(píng)分)-java教務(wù)管理系統(tǒng)mysql數(shù)據(jù)源
基于SSM+bootstrap的校園訂餐系統(tǒng)-java校園訂餐系統(tǒng)mysql數(shù)據(jù)源
基于JSP的高??觳偷暧啿拖到y(tǒng)-java快餐店訂餐系統(tǒng)mysql數(shù)據(jù)源
基于SSM+Bootstrap的汽車(chē)銷(xiāo)售管理系統(tǒng)-java汽車(chē)銷(xiāo)售管理系統(tǒng)maven分布式mysql數(shù)據(jù)源
基于SSM+Redis的停車(chē)場(chǎng)管理系統(tǒng)-java停車(chē)場(chǎng)管理系統(tǒng)mysql數(shù)據(jù)源
基于SSM+bootstrap的停車(chē)場(chǎng)收費(fèi)管理系統(tǒng)-java停車(chē)場(chǎng)收費(fèi)管理系統(tǒng)mysql數(shù)據(jù)源
基于Mybatis的教學(xué)管理系統(tǒng)作業(yè)提交批改管理系統(tǒng)-java教學(xué)管理系統(tǒng)作業(yè)提交批改管理系統(tǒng)
基于SSM的醫(yī)院住院管理系統(tǒng)-java醫(yī)院住院管理系統(tǒng)mysql數(shù)據(jù)源
基于SSM的醫(yī)院藥品管理系統(tǒng)(藥品采購(gòu)處方開(kāi)具柜臺(tái)倉(cāng)庫(kù)多角色)-java醫(yī)院藥品管理系統(tǒng)mysql數(shù)據(jù)源
基于JSP的在線預(yù)約掛號(hào)系統(tǒng)-java在線預(yù)約掛號(hào)系統(tǒng)mysql數(shù)據(jù)源
基于SSM的實(shí)驗(yàn)室管理系統(tǒng)-java實(shí)驗(yàn)室管理系統(tǒng)mysql數(shù)據(jù)源
基于SSM的社區(qū)矯正工作信息管理平臺(tái)-java社區(qū)矯正工作信息管理平臺(tái)mysql數(shù)據(jù)源基于redis的分布式session實(shí)現(xiàn)‘
基于SSH的校園食堂點(diǎn)餐系統(tǒng)-java校園食堂點(diǎn)餐訂餐系統(tǒng)mysql數(shù)據(jù)庫(kù)
基于Spring+SpringMvc+Hibernate的家政服務(wù)網(wǎng)-java家政服務(wù)網(wǎng)
基于SSM的家政服務(wù)管理系統(tǒng)-java家政服務(wù)管理系統(tǒng)家政平臺(tái)mysql數(shù)據(jù)源
這些都很不錯(cuò)還有很多我沒(méi)發(fā)的課題,你自已找找 你應(yīng)該明白一貼就知道
可以多次提交。
作業(yè)提交以WORD文檔提交,對(duì)于每次作業(yè)教師可以指定最后提交期限,超過(guò)期限不能再提交,在期限前可以多次提交,但覆蓋前次提交。
教師可以瀏覽提交的作業(yè),并可以給出成績(jī)或修改成績(jī)。
以上就是關(guān)于java怎么通過(guò)代碼登入教務(wù)系統(tǒng)全部的內(nèi)容,如果了解更多相關(guān)內(nèi)容,可以關(guān)注培訓(xùn)啦網(wǎng),你們的支持是我們更新的動(dòng)力!
985大學(xué) 211大學(xué) 全國(guó)院校對(duì)比 專(zhuān)升本 美國(guó)留學(xué) 留求藝網(wǎng)