❶ Logic java是什麼
是struts的一個標簽..
❷ logic java 中寫用戶名登錄驗證怎麼編寫
可以告訴你思路.
把用戶名和密碼傳到後台,用sql語句根據用戶名和密碼拼接查詢語句,如果查詢出有記錄,說明用戶名和密碼正確,如果查詢結果是空,說明用戶名或密碼錯誤.
❸ java logic怎麼做用戶登錄
,具體點可以這樣:創建一個用戶表,里邊包括LoginName(登錄名),UserName(用戶名),Password(密碼),Age(年齡),Address(地址)。然後編寫Java程序(用MVC架構)模型層(M):DBConnection.java(負責連接資料庫)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class DBConnection {
private static final String DRIVER_CLASS = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String DB_URL = "jdbc:odbc:text";
public DBConnection() {
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER_CLASS);
conn = DriverManager.getConnection(DB_URL);
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} catch (ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
return conn;
}
}
第2個負責資料庫查詢操作的類:DBUserManager.java
import e.systop.text.model.entity.User;
import e.systop.text.model..DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;
public class DBUserManager {
private static final String SQL_SELECT =
"SELECT LoginName,UserName,PassWord,Age,Address FROM UserInfo WHERE LoginName = ? AND PassWord = ?";
public DBUserManager() {
}
public boolean checkDB(User u) {
boolean b = false;
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
conn = DBConnection.getConnection();
try {
psmt = conn.prepareStatement(SQL_SELECT);
psmt.setString(1, u.getLoginName());
psmt.setString(2, u.getPassWord());
rs = psmt.executeQuery();
b = rs.next();
if (rs.next()) {
b = true;
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
cleanDB(rs, psmt, conn);
}
return b;
}
public User checkBC(User u) {
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
User tmp = new User();
conn = DBConnection.getConnection();
try {
psmt = conn.prepareStatement(SQL_SELECT);
psmt.setString(1, u.getLoginName());
psmt.setString(2, u.getPassWord());
rs = psmt.executeQuery();
if (rs.next()) {
tmp.setLoginName(rs.getString(1));
tmp.setUserName(rs.getString(2));
tmp.setAge(rs.getInt(4));
tmp.setAddress(rs.getString(5));
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
cleanDB(rs, psmt, conn);
}
return tmp;
}
public void cleanDB(ResultSet rs, PreparedStatement psmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (psmt != null) {
psmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
第3個實體用戶類:User.java
package e.systop.text.model.entity;
public class User {
private String loginName;
private String userName;
private String passWord;
private int age;
private String address;
public User() {
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public void setAge(int age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
public String getLoginName() {
return loginName;
}
public String getUserName() {
return userName;
}
public String getPassWord() {
return passWord;
}
public int getAge() {
return age;
}
public String getAddress() {
return address;
}
}
然後編寫控制層(C):GetInfoServlet.java
package e.systop.text.control;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import e.systop.text.model.entity.User;
import e.systop.text.model.service.UserManager;
public class GetInfoServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String loginName = request.getParameter("loginName");
String passWord = request.getParameter("passWord");
User u = new User();
u.setLoginName(loginName);
u.setPassWord(passWord);
UserManager m = new UserManager();
RequestDispatcher d;
if (m.checkUser(u)) {
User o = m.checkBC(u);
request.setAttribute("JavaBEAN",o);
d = request.getRequestDispatcher("GetInfoUser.jsp");
} else {
d = request.getRequestDispatcher("GetInfoFinale.jsp");
}
d.forward(request, response);
}
//Clean up resources
public void destroy() {
}
}
最後,創建表示層(V):包括3個Jsp(登錄頁面GetInfo.jsp、登錄成功頁面GetInfoUser.jsp、登錄失敗頁面GetInfoFinale.jsp)
上面的就是Jsp結合Servlet用MVC架構寫的用戶登錄程序。
❹ Java的三層架構都有些什麼
三層架構是一個分層式的軟體體系架構設計,它可適用於任何一個項目。MVC是一個設計模式,它是根據項目的具體需求來決定是否適用於該項目。
那麼架構跟設計模式有什麼區別呢?我們從接手一個項目開始,首先,我們需要進行架構設計,一般我們採用的就是分層式的架構設計,即我們的三層架構。
然後,在確定了架構以後,我們再根據項目的具體需求去考慮是否需要應用一些設計模式,比如是否應用我們的MVC模式,抽象工廠模式等等。(在這里我們看出,MVC與三層架構不是一個等級的,而與抽象工廠等設計模式才是一路的)
最後,確定了模式以後,就是我們的一些具體的實現了。(當然一個項目不僅僅考慮這些問題,我只是為了說明兩者的區別,將其他問題已省略)
其次,它倆劃分的層次不同。
三層架構將整個項目劃分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。MVC即Model(模型),View(視圖),Controller(控制)。
❺ Java 中 三層裡面Form包。Logic包。Action包各自作用
MVC
View-form包:為展現層,和頁面相關,一般和用戶打交道。
Model-logic包:業務邏輯層,處理數據,一般和資料庫打交道。
Controller-action:控制層,控制數據從模型到界面,或從界面到模型,把展現層和業務層聯系起來。
❻ javastructs框架中如何對logic遍歷出來的數據進行刪除、更新操作
第一,更新批量實現有難度,除非使用EXT或者Jquery的控制項。
第二、批量刪除簡單,下面是批量刪除的代碼
<logic:iterate id="tube" name="page1" property="tubeList">
<tr>
<td><input type="checkbox" name="item" value='<bean:write name="tube" property="id"/>'></td>
<td><bean:write name="tube" property="tubeDrawing" /></td>
<td><bean:write name="tube" property="tubeName" /></td>
<td><bean:write name="tube" property="tubeNum" /></td>
<td><bean:write name="tube" property="tubeSpecification" /></td>
<td><bean:write name="tube" property="tubeMaterialType" /></td>
<td><bean:write name="tube" property="locoType" /></td>
<td><bean:write name="tube" property="bendRadius" /></td>
<td><bean:write name="tube" property="straightSectionNum" /></td>
<td><bean:write name="tube" property="benderNum" /></td>
<td><bean:write name="tube" property="dieNum" /></td>
<td><input type="button" name="Submit442" value="更新" onClick="updatealert()">
<input type="button" name="Submit4434" value="刪除" onClick="deleteConfirm('item','後台刪除方法的url')">
</td>
</tr>
</logic:iterate>
附帶js
//刪除
function deleteConfirm(idItem,url){
var idItems = document.getElementsByName(idItem);
var selectedNum = 0;
var selectedItemValue="";
if(idItems && url!=""){
//alert(idItems.length);
for(var i=0;i<idItems.length;i++){
if(idItems[i].checked){
selectedNum = selectedNum+1;
selectedItemValue += idItems[i].value+",";
//alert(selectedItemValue);
}
}
}
selectedItemValue = selectedItemValue.substring(0,selectedItemValue.length-1);
if(selectedNum < 1){
alert("請選擇要進行操作的記錄!!!");
return;
}else if(confirm('您真要刪除記錄嗎?')){
window.location.href=url+"&item="+selectedItemValue;
}
}
❼ java開源的框架
Spring Framework 【Java開源 J2EE框架】
Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。Spring提供了一個用標准Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。【SpringIDE:Eclipse平台下一個輔助開發插件】.
WebWork 【Java開源 Web框架】
WebWork是由OpenSymphony組織開發的,致力於組件化和代碼重用的拉出式MVC模式J2EEWeb框架。WebWork目前最新版本是2.1,現在的WebWork2.x前身是Rickard Oberg開發的WebWork,但現在WebWork已經被拆分成了Xwork1和WebWork2兩個項目。 Xwork簡潔、靈活功能強大,它是一個標準的Command模式實現,並且完全從web層脫離出來。 Xwork提供了很多核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉換,強大的表達式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應和請求。WebWork2使用ServletDispatcher將HTTP請求的變成Action(業務層Action類), session(會話)application(應用程序)范圍的映射,request請求參數映射。WebWork2支持多視圖表示,視圖部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了對AJAX的支持,這支持是構建在DWR與Dojo這兩個框架的基礎之上.【EclipseWork:用於WebWork輔助開發的一個Eclipse插件】
Apusic JSF 【Java開源 Web框架】
Apusic JSF-基於Ajax技術的JSF開源引擎。通過Apusic JSF的Ajax特性,我們能夠只把發生變化的數據打包成Ajax請求發送給伺服器端,而伺服器端也只會將發生變化的數據打包成Ajax應答,從而大大提升系統的運行效率。並且,傳統的JSF請求應答將刷新整個頁面,而Apusic JSF將只更新發生變化的客戶端組件,從而給客戶帶來更好的人機體驗......
Struts 【Java開源 Web框架】
Struts是一個基於Sun J2EE平台的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。【StrutsIDE:用於Struts輔助開發的一個Eclipse插件】
Strecks 【Java開源 Web框架】
針對Java 5.0開發人員設計,擴展自Struts的一個Web框架。它的特點包括:POJO action,注釋式校驗,數據綁定和轉換,依賴注入,攔截器等。
jxyz 【Java開源 Web框架】
pojo的mvc框架,使用java註解,使用ognl傳輸上下文,使用hivemind做ioc容器,使用spring簡化hibernate操作,使用泛型來減少重復代碼。 有以下幾個特點。
1.Pojo。任何一個java類都可以做Action(logic),為了改造現在常用的ssh,tsh,wsh框架成sh,支持spring bean做Action(logic)
2.0配置,根據命名規范來查找Action類和view
3.和web環境松耦合,從理論上講可以用在swing里
4.支持tdd開發,框架本身就是以tdd開發方式開發
5.代碼少,一般mvc需要5個類,xyz只要3個,還可以通過GenericDAO,GenericLogic來減少重復代碼
6.對開發者來說,一切實現都可以自己定製,由於hivemind支持迭代開
Hibernate 【Java開源 持久層框架】
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。Eclipse平台下的Hibernate輔助開發工具:【Hibernate Synchronizer】【MiddlegenIDE】
IBATIS 【Java開源 持久層框架】
使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實現ORM 而言基本一致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 「全自動」ORM機制而言,ibatis 以SQL開發的工作量和資料庫移植性上的讓步,為系統 設計提供了更大的自由空間。作為「全自動」ORM 實現的一種有益補充,ibatis 的出現顯 得別具意義。
EasyJWeb 【Java開源 Web框架】
EasyJWeb是基於java技術,應用於WEB應用程序快速開發的MVC框架,框架設計構思來源於國內眾多項目實踐,框架充分借簽了當前主要流行的開源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其優點及精華,利用Velocity作為模板頁面引擎,是一個實現了頁面及代碼完全分離的MVC開發框架。是一個能實現中小型Web應用系統快速開發的簡易Web框架。
Tapestry 【Java開源 Web框架】
Tapestry是一個開源的基於servlet的應用程序框架,它使用組件對象模型來創建動態的,交互的web應用。一個組件就是任意一個帶有jwcid屬性的html標記。其中jwc的意思是Java Web Component。Tapestry使得java代碼與html完全分離,利用這個框架開發大型應用變得輕而易舉。並且開發的應用很容易維護和升級。Tapestry支持本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術進行開發。【Spindle:Tapestry輔助開發Eclipse插件】.
Turbine 【Java開源 Web框架】
Turbine是基於Servlet的框架包,也是開放源代碼Jakarta項目。目前還沒有關於Turbine的大量文檔。它類似於Struts,但是有一些主要區別。突出的一點就是它並沒有與JSP耦合。Turbine的特點是它提供了大量可重用的組件。此框架包中包含了大量組件,但是這些組件是離散的。它似乎應該給出更多的組件庫,但是由於它缺少文檔,所以很難掌握完整的體系結構。
Nuxeo5 【Java開源 J2EE框架】
Nuxeo5是一個用於ECM(Enterprise Content Management)應用程序開發的開源框架。基於組件和面向服務的架構使得它真正易於定製和擴展。Nuxeo5構建流行的Java5與Java EE5技術包括:Apache Jackrabbit ,JBoss應用伺服器,JBoss Seam,jBPM,JBoss Rules,JSF,EJB3等,並運用OSGi與Nuxeo Core。
Jt 【Java開源 J2EE框架】
Jt是一個輕量級的,面向設計模式的J2EE框架。Jt已經被運用到一些大型的關鍵業務系統(mission critical system)。Jt實現了許多著名設計模式包括DAO(Data Access Object),GoF中的設計模式和J2EE模式。該框架支持的一些J2EE技術包括JSP,JDBC,EJB,JavaMail,XML和Web Services。
Open-jACOB eMail 【Java開源 WebMail】
Open-jACOB eMail是一個輕量級IMAP客戶端,基於Javamail API與Open-jACOB框架開發。界面類似於Gmail,它提供的功能包括完整的folder list,message list和contact list。
Open-jACOB 【Java開源 Web框架】
Open-jACOB是一個Web框架用於開發基於AJAX,資料庫驅動,跨瀏覽器的Web應用程序。該框架設計成一個基於Eclipse的插件,可以利用該插件設計資料庫,設計UI,部署/測試應用程序等。具體用法可查看其提供的一個Flash Demo。
Ruby on Spring 【Java開源 Web框架】
Ruby on Spring是一個採用Ruby on Rails的思想與優點,集成JRuby動態語言與Spring框架而開發的開源項目。基於MIT license發布。
Ebean 【Java開源 持久層框架】
Ebean是一個對象/關系映射持久層框架。它與EJB3相類似,但該框架簡單易於學習和使用。它特點: 1.兼容EJB3 ORM映射。2.支持級聯保存和刪除。3.支持懶載入。4.事務管理和日記功能。5.Statement Batching 5.支持緩存。6.Clustering。7.集成Lucene文本搜索。
❽ 想自己做一個手機游戲試試,流程是什麼,都需要學些什麼
你好 做手機游戲 我分開說好了
首先做手機應用(手機游戲其實也是應用的一種) 首選 肯定是 安卓 或者 ios 二選一
安卓 肯定就是java了 (我比較了解 干這個的) 後一種我就不熟了
那麼 這個方向的技能 需要 javaLogic 也就是java的基本邏輯 然後是 web應用 也就是伺服器技術 jsp 、servlet 前端的話 頁面 要學習 js jquery html也就是div+css
再從游戲來說 游戲那麼多精美的圖片 想要絢麗的效果 肯定少不了的 那麼就是 flash 圖片處理之類的技術了
如果你只是想練手 做個小游戲 例如 貪食蛇 俄羅斯方塊 掃雷 坦克大戰之類的 那麼入手的方向是
先搞懂游戲的演算法 簡單來說 如何判斷蛇吃到了食物 如何讓蛇前進後退 俄羅斯方塊 : 如何這一層滿了就消除 如何變幻方塊模型 掃雷: 如何查找周圍有幾顆雷 這些都是游戲的演算法 搞懂了這些邏輯演算法 就好做了
希望能幫到你 謝謝