2011年12月19日 星期一
熊吉的超級市場 開放程式碼
隨意取用 支持開放原始碼
幾大遺珠:
雖然一開始風格就走惡搞取向,但是惡搞得不夠徹底,缺乏真正的惡趣味設計
CSS還是難搞,在不同瀏覽器看來還是有些微出入
javabean的精隨還未參透,只是假設性的實驗寫法,感覺不是最佳寫法
用了一堆reques接參數,大概有1/4都是reques,感覺有更聰明的方法
AJAX是殺小
transaction rollback怎麼玩呀,又要怎樣判定它交易成功還失敗
jQoery沒用到
一些前端功能由於之前JAVA已寫了,也懶得改
功能多 = Bug其實也很多,只是沒展示出來,以前的畢製老師說,藏拙於巧,巧妙的避開致命點,你就顯得很無敵
熊吉最終還是逃不過悲慘命運
2011年12月14日 星期三
JSP select tag 選值問題 JAVA解法
很多人問,不囉嗦直接參考程式碼
這是寫死的如果選項很多 請用迴圈
javascript或者J摳瑞也能解決(而且通常是這麼做),但我跟他們不熟
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Insert title here
<%
String category = request.getParameter("category");
if (category == null) {
category = "aa";
}
String op1 = "";String op2 = "";String op3 = "";
if (category.equals("aa")) {
op1 = "selected";
}
if (category.equals("bb")) {
op2 = "selected";
}
if (category.equals("cc")) {
op3 = "selected";
}
%>
2011年12月6日 星期二
即使是爪哇豆豆也無法阻擋我在首頁放上熊吉
eclipse新增JSP頁面預設是
<%@ page language="java" contentType="text/html; charset=BIG5" pageEncoding="BIG5"%>但是身為國際化的人類網頁裡只能放中文 英文也太不合理
就連クマ吉的大名放上去也會亂碼
S**t! 吉 是誰?
改設定吧


記得原本的轉碼語法改成
String value = request.getParameter("value");
if (value != null && !value.equals("")) {
value = new String(value.getBytes("ISO8859-1"), "UTF-8");
}
耶!大功告成
把網頁轉成UTF-8的最大好處是網址有中文日文印度文或者啥小的 都不再會是亂碼
2011年12月4日 星期日
購物車完成了!!
第一頁是產品列表 搜尋的部分可以找產品名 跟 輸入單價範圍 來查詢
選擇"點"可以看到詳細資料

輸入數量後即可購買

購買確認頁

點確定就會加入購物車

如過數量超過庫存

無法成功

如果使用者亂打

亦同

買了三樣東西會長這樣

完成交易太棒了

2011年12月1日 星期四
JSP 爪哇豆豆
m4_demo_how_to_use_bean.jsp
<%@ page language="java" contentType="text/html; charset=BIG5" pageEncoding="BIG5"%>
Insert title here
<% tu.JustAmethod("select * from products "); %>
<% if (tu.成功) { %>
<%= "成功" %>
<% if (tu.幾列 == 0) { %>
沒有資料
<% } else {
String[] each_row; %>
有資料
<% for (int 第幾筆 = 0; 第幾筆 < tu.幾列; 第幾筆 += 1) {
each_row = tu.rows.elementAt(第幾筆); %>
<% for (int 第幾欄 = 0; 第幾欄 < tu.幾欄; 第幾欄 += 1) {
String column;
column = each_row[第幾欄]; %>
<%=column%>
<% } %>
<% } %>
<% } %>
<% } else { %>
<%= "失敗原因:" + tu.失敗原因 %>
<% } %>
my_javabeans.java
package com;
import java.sql.*;
import java.util.*;
public class my_javabeans {
public int 幾欄;
public int 幾列;
public Vector rows;
public String 失敗原因;
public boolean 成功;
public void JustAmethod(String query) {
java.sql.Connection conn = null;
Statement cmd = null;
ResultSet dr = null;
try {
失敗原因 = "";
成功 = false;
rows = new Vector();
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = java.sql.DriverManager.getConnection(
"jdbc:sqlserver://127.0.0.1:1433;databasename=northwind",
"sa", "III");
cmd = conn.createStatement();
dr = cmd.executeQuery(query);
ResultSetMetaData rsmd = dr.getMetaData();
幾欄 = rsmd.getColumnCount();
String [] each_row ;
幾列 = 0;
while ( dr.next() ) {
幾列 += 1;
each_row = new String[幾欄];
for(int cn = 1; cn <= 幾欄 ; cn += 1)
{
each_row[cn-1] = dr.getString(cn);
}
rows.addElement(each_row);
}
成功 = true;
} catch (java.sql.SQLException exp) {
失敗原因 = "資料庫 problem: " + exp.getMessage();
} catch (ClassNotFoundException exp) {
失敗原因 = "jdbc driver problem: " + exp.getMessage();
}
}
}
2011年11月30日 星期三
JSP 之 SQL連線
如果你信誓旦旦的回家測試
卻看到以下畫面
曹山表示:沒有錯,你又進入了黃泉路666號
以上閒聊
以下正題
因為SQL安裝的時候預設是用WINDOWS驗證
(某軟公司自認WINDOWS驗證最安全)
所以請改成SQL Server 及 Windows驗證模式
以下圖解
以上
2011年11月24日 星期四
JSP m3_lab2
package com.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class m3_lab2
*/
@WebServlet("/m3_lab2")
public class m3_lab2 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public m3_lab2() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html; charset=big5");
java.io.PrintWriter out = response.getWriter();
String [] list = {"大雄","宜靜","技安","阿福"};
out.println(list[(int)(Math.random()*list.length)].toString());
}
}
訂閱:
文章 (Atom)