自分でよく使いそうな物をコピペで使える様にしてます。
すぐ忘れちゃうのでまた探したりするのが面倒…
という事でまとめました。
バージョンによっては書き方等は変わるかも知れませんが臨機応変に!
※日本語で書かれてるところは変える
目次以外の情報:【何から勉強すべき?】を解決!プログラミング勉強順序〜java〜
Java
Eclipse・Maven
エクリプスのインストール方法・設定・使い方はこちら
Bean
クラス名の横につけるインタフェース
implements java.io.Serializable
DAO
データベースと接続する
PostgreSQLの場合
private String className = "org.postgresql.Driver";
private String jdbcUrl = "jdbc:postgresql://localhost:5432/データベース名";
private String user = "ユーザー名";
private String passWord = "パスワード";
Connection con = null;
public Connection connect() throws Exception {
//JDBCドライバのロード
Class.forName(className);
//データベースに接続するためのコード
return con= DriverManager.getConnection(jdbcUrl, user, passWord);
}
MySQLの場合
private String className = "com.mysql.cj.jdbc.Driver";
private String jdbcUrl = "jdbc:mysql://localhost/データベース名";
private String user = "ユーザー名";
private String password = "パスワード";
Connection con = null;
public Connection connect() throws Exception {
//JDBCドライバのロード
Class.forName(className);
//データベースに接続するためのコード
return con = DriverManager.getConnection(jdbcUrl,userId,userPass);
}
※動的プロジェクトを作成した場合は「webContents」の中の「lib」の中に「jarファイル」を入れる
extendsDAO
SQL文を扱う
それぞれメソッドに纏める
select
データベース検索時に使う
public List<Beanクラス型> serch() throws Exception {
Connection db = connect();
List<Beanクラス型> list = new ArrayList<Beanクラス型>();
PreparedStatement st = null;
Beanクラス名 bean = null;
st = db.prepareStatement("SQL文を記述;");
ResultSet rs = st.executeQuery();
while (rs.next()) {
bean = new Bean();
/* データベースの内容による
bean.setId(rs.getInt("カラム名"));
bean.setText(rs.getString("カラム名"));
*/
list.add(bean);
}
st.close();
db.close();
return list;
}
insert
データベースに登録時に使う
public synchronized int insert(String text) throws Exception {
Connection db = connect();
PreparedStatement st = null;
int line = 0;
st = db.prepareStatement("SQL文を記述;");
/* SQLインジェクション(SQL文の内容による)
st.setString(1, 仮引数);
st.setInt(2,仮引数);
*/
line = st.executeUpdate();
st.close();
db.close();
return line;
}
delete
update
tool
エンコーディング
@WebFilter(urlPatterns = { "/*" })
public class EncodingFilter implements Filter {
public void doFilter(
ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}
エスケープ
特殊文字を変換する
public static String htmlEscape(String str) {
StringBuffer result = new StringBuffer();
for (char c : str.toCharArray()) {
switch (c) {
case '&':
result.append("&");
break;
case '<':
result.append("<");
break;
case '>':
result.append(">");
break;
case '"':
result.append(""");
break;
case '\'':
result.append("'");
break;
case ' ':
result.append(" ");
break;
default:
result.append(c);
break;
}
}
return result.toString();
}
HTML
javaファイルでHTMLを使うときにメソッドを呼び出す
例:PrintWriter out = response.getWriter();のoutが実引数になる
public static void header(PrintWriter out) {
out.println("<!DOCTYPE html> ");
out.println("<html> ");
out.println("<head> ");
out.println("<meta charset='UTF-8'> ");
out.println("<title></title> ");
out.println("</head> ");
out.println("<body> ");
}
public static void footer(PrintWriter out) {
out.println("</body> ");
out.println("</html> ");
}
クラス
クラス作成する時のテンプレート
URLアノテーション
(パス)フォルダ名はJavaファイルにパラメーターが渡される場合はそのJSPやHTMLファイルがあるフォルダ名を記述
継承
HttpServletを継承する
doPost・doGetメソッド
使いたいメソッド名にするだけ
@WebServlet(urlPatterns = {"/フォルダ名/任意の文字列"})
class クラス名 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
インクルード・フォワード・リダイレクト
//インクルード
request.getRequestDispatcher("パス").include(request, response);
//フォワード
request.getRequestDispatcher("パス").forward(request, response);
//リダイレクト
response.sendRedirect("パス");
セッション
//セッションを使う前に記述する HttpSession session = req.getSession(); //セッションを切断する sesstion.invalidate();
JSP
1行目に記述
<%@ page contentType="text/html; charset=UTF-8" %>
ファイルを読み込む
<%@ include file="パスとファイル名.拡張子" %>
ファイルをインポート
※複数インポートするファイルがある場合はカンマ区切りで続けて記述できる
<%@page import="フォルダ名.クラス名 , フォルダ名.クラス名" %>
ハッシュマップ
Map<String, String> map = new HashMap<>();
map.put("東京", "新宿");
request.setAttribute("list", map); //下のEL式使用の例で使う
EL式を有効化
<%@ page isELIgnored="false" %> //falseで有効化 trueで無効化
EL式使い方 例:上のハッシュマップを使ってる
・setAttributeでつけた名前等を使ってその中の値を取り出す
・HTMLの中に記述できる
<p>${ list.get("東京")}</p> //新宿が出力
php
XAMPPを使用
初めてのPHP【XAMPPのインストール方法~使い方まで解説】
【初めてのPHP】XAMPPでデータベースを作成【簡単手順書】
データベースに接続
XAMPPのMySQL
<?php
//ライブラリの読み込み
require_once 'vendor/autoload.php';
$dsn = 'mysql:dbname=データベース名;host=localhost';
$use = 'ユーザー名';
$password = 'パスワード';
try {
$dbh = new PDO($dsn,$use,$password);
$sql = 'SQL文';
foreach($dbh->query($sql) as $row) {
/* データベースの値による
$id = $row['カラム名'];
$text = $row['カラム名'];
*/
}
} catch(PDOException $e) {
print('Error:'.$e->getMessage());
die();
}
?>

