おぼえがき

転職するとしたら、わたしも結構な歳なので、最初で最後のチャンスかな。と思います。

で、転職するにあたっては、自分の何が重要か考える必要があります。

お金なのか、時間なのか、やりがいなのか、住む場所なのか、大企業で働く名誉なのか。

ただ、優先度をつけたとして、それは今の時点でしかないと思います。

自分が10年先も同じ価値観で生きてるか?

仮に同じであった場合、それは人間として成長していないのではないか?とも思います。


現時点での価値の優先度ぐらいは付けれるので、

自分の将来、世の中の流れ、転職先の会社の将来性とか

将来を予測する能力というものに

自信が持てないから転職に踏み切れないのかな。と感じてます。


とりあえずSOAバズワードで間違いないかな。と思ってますが…



マインドマップみたいに、なんかソフトとか考え方とかないんですかね?

RESTっぽいの

結局挫折しました。

ここのパワーポイントの資料で

PUTメソッドは厳しいってあって。で、回避するためのjavascriptがあったんですが、

自分の付け焼刃のjavascriptの能力ではよくわからず、

パラメタを送信することがどうしてもできなかったので。。。

RESTっぽいJava

JSFやらDIやらを転職するときの糧にと思い、後輩に教えようとしてたのですが

仕事のかたわらですし、「Interfaceって何なんすか?」な所からスタートなので、

あえなく挫折です。ですので、JavaによるWebアプリ開発Servlet + JSP(JSTL含む) 程度のアプリにすることにしました。


今からStruts覚えても、仕様どうなるか分からないし、アレの必要性について疑問になってきたので…


そういう流れでサンプルアプリ作ってたら、RESTなアプローチの方が分かりやすいかなと思い、

調べてたら、ブラウザからPUT,DELETEを投げる方法もあるみたいで、どうにかできそうです。

以下は断片的なコードです。

 package web;
 
 import java.io.IOException;
 import java.util.List;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import autotest.service.MachineService;
 
 public class VottieServlet extends HttpServlet {
 
        protected void doGet(HttpServletRequest req,
                             HttpServletResponse res) throws ServletException, IOException {
                HttpSession session = req.getSession();
                Service service = new Service();
                List list = service.getMachines();
                session.setAttribute("results", list);
                ServletContext ctx = getServletContext();
                RequestDispatcher rd = ctx.getRequestDispatcher("/list.jsp");
                rd.forward(req, res);
        }
 	
 	protected void doPost(HttpServletRequest req,
 			HttpServletResponse res) throws ServletException, IOException {
 		System.out.println("---- POST ----");
 		ServletContext ctx = getServletContext();
 		RequestDispatcher rd = ctx.getRequestDispatcher("/list.jsp");
 		rd.forward(req, res);
 		
 	}
 	
 	protected void doDelete(HttpServletRequest req,
 			HttpServletResponse res) throws ServletException, IOException {
 		System.out.println("---- DELETE ----");
 		ServletContext ctx = getServletContext();
 		RequestDispatcher rd = ctx.getRequestDispatcher("/list.jsp");
 		rd.forward(req, res);
 	} 
 
 	protected void doPut(HttpServletRequest req,
 			HttpServletResponse res) throws ServletException, IOException {
 		System.out.println("---- PUT ----");
 
 		ServletContext ctx = getServletContext();
 		RequestDispatcher rd = ctx.getRequestDispatcher("/list.jsp");
 		rd.forward(req, res);
 	}
 }
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>sample</title>
<script language="javascript" type="text/javascript">
	function createXMLHttpRequest() {
	   return this.XMLHttpRequest ? 
	      new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	}
	var req = createXMLHttpRequest();
	function send_request(method) {
	  req.open(method, "/sample/vottie", true)
	  req.send(null)
	}
</script>
</head>
<body>
    <table border="1">
      <c:forEach var="loop" items="${results}">
      <tr>
        <td>
          <c:out value="${loop.name}"></c:out>        
        </td>
        <td>
          <c:out value="${loop.value}" />
        </td>
        <td>
          <input type="button" value="delete" onclick="send_request('DELETE')" /> 
        </td>
        <td>
          <input type="button" value="put" onclick="send_request('PUT')" />
        </td>
      </tr>
      </c:forEach>
      </table>
	
      <form action="/sample/vottie" method="POST">
      <input type="hidden" name="method" value="POST" />
	  <input type="text" name="name" size="10"/>
	  <input type="text" name="port" size="5"/>
	  <input type="submit" value="POST" />
	</form>
</body>
</html>
<?xml version="1.0"?>
<web-app>
	<servlet>
		<servlet-name>sample</servlet-name>
		<servlet-class>web.VottieServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>sample</servlet-name>
		<url-pattern>/sample/*</url-pattern>
	</servlet-mapping>

    <el-ignored>false</el-ignored>
    <!-- Welcome files -->

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>

プロジェクトサイトができました。

ワールド杯も落ち着いてきたので、プロジェクトサイトを作成することができました。


http://htabletree.sourceforge.jp/


サンプルアプリケーションを添付してます。

動作検証してないので、まともに動くかは不明、かつドキュメントがまだまだ書けてませんが。。。