{"id":482,"date":"2022-11-16T00:33:35","date_gmt":"2022-11-15T15:33:35","guid":{"rendered":"https:\/\/www.dogrow.net\/android\/?p=482"},"modified":"2022-11-16T16:09:03","modified_gmt":"2022-11-16T07:09:03","slug":"blog25","status":"publish","type":"post","link":"https:\/\/www.dogrow.net\/android\/blog25\/","title":{"rendered":"(25)\u3010Eclipse2022\u3011\u52d5\u7684Web\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u5165\u529b\u30d5\u30a9\u30fc\u30e0\uff08JSP\uff09\u3068\u5fdc\u7b54\u753b\u9762\uff08Servlet\uff09\u3092\u4f5c\u6210"},"content":{"rendered":"<h1 class=\"my_h\">1. \u3084\u308a\u305f\u3044\u3053\u3068<\/h1>\n<p>\u8868\u984c\u306e\u901a\u308a\u3001\u4ee5\u4e0b\u306e\u4e8c\u3064\u306e Web\u30da\u30fc\u30b8\u3092\u4f5c\u308a\u305f\u3044\u3002<br \/>\n\u30da\u30fc\u30b8#1 : \u540d\u524d\u3068\u96fb\u8a71\u756a\u53f7\u3092\u5165\u529b\u3059\u308b\u753b\u9762 <span class=\"my_fc_blueB\">\u2190 JSP\u3067\u5b9f\u88c5<\/span><br \/>\n\u30da\u30fc\u30b8#2 : \u5165\u529b\u3092\u53d7\u3051\u4ed8\u3051\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u5fdc\u7b54\u753b\u9762 <span class=\"my_fc_blueB\">\u2190 Servlet\u3067\u5b9f\u88c5<\/span><\/p>\n<h1 class=\"my_h\">2. \u3084\u3063\u3066\u307f\u305f<\/h1>\n<h3 class=\"my_h\">Step 1 : Eclipse\u3067\u52d5\u7684Web\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u65b0\u898f\u4f5c\u6210<\/h3>\n<p>\u300c\u30d5\u30a1\u30a4\u30eb\u300d\uff0d\u300c\u65b0\u898f\u4f5c\u6210\u300d\uff0d\u300c\u52d5\u7684Web\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u30e1\u30cb\u30e5\u30fc\u3092\u9078\u629e\u3057\u3001\u9069\u5f53\u306a\u540d\u524d\u3092\u4ed8\u3051\u308b\u3002<br \/>\n\u3053\u3053\u3067\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u3092 Test006 \u3068\u3057\u305f\u3002<\/p>\n<h3 class=\"my_h\">Step 2 : JSP\u30d5\u30a1\u30a4\u30eb\u3092\u65b0\u898f\u4f5c\u6210<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/android\/wp-content\/uploads\/2022\/11\/i001-2.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<pre class=\"brush: xml; highlight: [11,12,13,14,15]; title: ; notranslate\" title=\"\">\r\n&lt;%@ page language=&quot;java&quot; contentType=&quot;text\/html; charset=UTF-8&quot;\r\n    pageEncoding=&quot;UTF-8&quot;%&gt;\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta charset=&quot;UTF-8&quot;&gt;\r\n&lt;title&gt;The Form&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;form action=&quot;\/Test006\/apply&quot; method=&quot;post&quot;&gt;\r\n&lt;p&gt;\u540d\u524d : &lt;input type=&quot;text&quot; name=&quot;name&quot;&gt;&lt;\/p&gt;\r\n&lt;p&gt;\u96fb\u8a71\u756a\u53f7 : &lt;input type=&quot;text&quot; name=&quot;tel&quot;&gt;&lt;\/p&gt;\r\n&lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;\u6c7a\u5b9a&quot;&gt;&lt;\/p&gt;\r\n&lt;\/form&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<h3 class=\"my_h\">Step 3 : Java Servlet\u30d5\u30a1\u30a4\u30eb\u3092\u65b0\u898f\u4f5c\u6210<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/android\/wp-content\/uploads\/2022\/11\/i002-2.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<pre class=\"brush: java; highlight: [28,29,30,31,32,33,34,35]; title: ; notranslate\" title=\"\">\r\nimport java.io.IOException;\r\nimport java.io.PrintWriter;\r\n\r\nimport javax.servlet.ServletException;\r\nimport javax.servlet.annotation.WebServlet;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\n\r\n\/**\r\n * Servlet implementation class apply\r\n *\/\r\n@WebServlet(&quot;\/apply&quot;)\r\npublic class apply extends HttpServlet {\r\n\tprivate static final long serialVersionUID = 1L;\r\n\r\n\t\/**\r\n\t* @see HttpServlet#HttpServlet()\r\n\t*\/\r\n\tpublic apply() {\r\n\t\tsuper();\r\n\t}\r\n\r\n\t\/**\r\n\t * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)\r\n\t *\/\r\n\tprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {\r\n\t\trequest.setCharacterEncoding(&quot;UTF-8&quot;);\r\n\t\tString name = request.getParameter(&quot;name&quot;);\r\n\t\tString tel  = request.getParameter(&quot;tel&quot;);\r\n\t\r\n\t\tresponse.setContentType(&quot;text\/html; charset=UTF-8&quot;);\r\n\t\tPrintWriter out = response.getWriter();\r\n\t\tout.println(&quot;name: &quot; + name);\r\n\t\tout.println(&quot;tel: &quot; + tel);\r\n\t}\r\n}\r\n<\/pre>\n<h3 class=\"my_h\">Step 4 : Tomcat\u3068\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u95a2\u9023\u4ed8\u3051<\/h3>\n<p>\u30fb\u30b5\u30fc\u30d0\u30fc\u30da\u30a4\u30f3\u3067\u4f7f\u7528\u3059\u308b Tomcat\u3092\u9078\u629e<br \/>\n\u30fb\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u30e1\u30cb\u30e5\u30fc\u3092\u958b\u304d\u300c\u8ffd\u52a0\u53ca\u3073\u9664\u53bb\u300d\u30e1\u30cb\u30e5\u30fc\u3092\u9078\u629e<br \/>\n\u30fb\u73fe\u5728\u958b\u767a\u4e2d\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 Test006 \u3092\u8ffd\u52a0\u3059\u308b\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/android\/wp-content\/uploads\/2022\/11\/i003-1.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<h3 class=\"my_h\">Step 5 : \u30b5\u30fc\u30d0\u30fc\u3092\u5b9f\u884c<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/android\/wp-content\/uploads\/2022\/11\/i004-1.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<h3 class=\"my_h\">Step 5 : Web\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u5165\u529b\u753b\u9762\u306b\u30a2\u30af\u30bb\u30b9<\/h3>\n<p>JSP\u3067\u4f5c\u6210\u3057\u305f\u5165\u529b\u30da\u30fc\u30b8\u3092\u6307\u5b9a\u3059\u308b\u3002<br \/>\n<span class=\"my_fc_blueB\">http:\/\/localhost:8080\/Test006\/form.jsp<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/android\/wp-content\/uploads\/2022\/11\/i005-1.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<p>\u6c7a\u5b9a\u30dc\u30bf\u30f3\u3092\u62bc\u4e0b\u3059\u308b\u3068\u3001HTTP POST\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u767a\u884c\u3055\u308c\u3001Servlet\u3067\u4f5c\u6210\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u5fdc\u7b54\u3092\u8fd4\u3059\u3002<\/p>\n<p>OK!<br \/>\nPost\u9001\u4fe1\u3057\u305f\u5185\u5bb9\u304c\u30b5\u30fc\u30d0\u30fc\u5074\u306b\u6e21\u308a\u3001Servlet\u306b\u3088\u3063\u3066Post\u5185\u5bb9\u3092\u542b\u3093\u3060\u30da\u30fc\u30b8\u304c\u4f5c\u6210\u30fb\u51fa\u529b\u3055\u308c\u3001Web\u30d6\u30e9\u30a6\u30b6\u5074\u306b\u5c4a\u3044\u305f\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dogrow.net\/android\/wp-content\/uploads\/2022\/11\/i006-1.jpg\" alt=\"\" class=\"my_add_bs1\" \/><\/p>\n<h1 class=\"my_h\">3. Servlet\u3068 JSP\u306e\u4f7f\u3044\u5206\u3051<\/h1>\n<p><span class=\"my_fc_deeppinkBBig\">MVC<\/span> \u3067\u5206\u3051\u308b\u306a\u3089\u3070&#8230;<\/p>\n<p><span class=\"my_fc_deeppinkB\">Model<\/span>: Java<br \/>\n<span class=\"my_fc_deeppinkB\">View<\/span>: JSP<br \/>\n<span class=\"my_fc_deeppinkB\">Controller<\/span>: Servlet<\/p>\n<p><a href=\"https:\/\/ja.wikipedia.org\/wiki\/Model_View_Controller\" target=\"_blank\" rel=\"noopener\">wiki MVC\u30e2\u30c7\u30eb<\/a><\/p>\n<p>\u305d\u3053\u3067\u2193\u2193\u2193<\/p>\n<h2 class=\"my_h\">\u5fdc\u7528<\/h2>\n<p><span class=\"my_fc_deeppinkB\">View\u306f JSP\u306b\u3084\u3089\u305b\u308b<\/span> \u3068\u3044\u3046\u65b9\u91dd\u3067\u3042\u308c\u3070&#8230;<br \/>\n\u4e0a\u8ff0\u306e Servlet\u3067\u5fdc\u7b54\u3092\u4f5c\u6210\u3057\u3066\u3044\u308b\u500b\u6240\u3092 JSP\u306b\u7f6e\u304d\u63db\u3048\u3088\u3046\u3068\u601d\u3046\u3002<\/p>\n<p>\u305d\u3053\u3067&#8230;<br \/>\nController(Servlet)\u304b\u3089 View(JSP)\u306b forward\u3057\u3066\u8868\u793a\u51fa\u529b\u3055\u305b\u308b\u65b9\u6cd5\u306b\u5909\u66f4\u3057\u3066\u307f\u308b\u3002<\/p>\n<h3 class=\"my_h\">\u6539\u90201: \u5fdc\u7b54\u51fa\u529b\u7528\u306e JSP\u3092\u65b0\u898f\u4f5c\u6210<\/h3>\n<p>Eclipse\u4e0a\u3067 JSP\u30d5\u30a1\u30a4\u30eb response.jsp \u3092\u65b0\u898f\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: xml; highlight: [4,5,14]; title: ; notranslate\" title=\"\">\r\n&lt;%@ page language=&quot;java&quot; contentType=&quot;text\/html; charset=UTF-8&quot;\r\n    pageEncoding=&quot;UTF-8&quot;%&gt;\r\n\r\n&lt;%@ page import=&quot;mypcg.person&quot; %&gt;\r\n&lt;% person psn = (person)request.getAttribute(&quot;person&quot;); %&gt;\r\n\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta charset=&quot;UTF-8&quot;&gt;\r\n&lt;title&gt;Insert title here&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;%= psn.getName() %&gt; \u306e\u96fb\u8a71\u756a\u53f7\u306f &lt;%= psn.getTel() %&gt; \u3067\u3059\u3002\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<h3 class=\"my_h\">\u6539\u90202: Controller(Servlet)\u304b\u3089 Viewer(JSP)\u306b request scope\u3092\u4f7f\u3063\u3066\u30e6\u30fc\u30b6\u30fc\u5f15\u6570\u3092\u53d7\u3051\u6e21\u3059\u3002<\/h3>\n<pre class=\"brush: java; highlight: [10,35,36,37,38,39]; title: ; notranslate\" title=\"\">\r\nimport java.io.IOException;\r\n\r\nimport javax.servlet.RequestDispatcher;\r\nimport javax.servlet.ServletException;\r\nimport javax.servlet.annotation.WebServlet;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\n\r\nimport mypcg.person;\r\n\r\n\/**\r\n * Servlet implementation class apply\r\n *\/\r\n@WebServlet(&quot;\/apply&quot;)\r\npublic class apply extends HttpServlet {\r\n\tprivate static final long serialVersionUID = 1L;\r\n       \r\n    \/**\r\n     * @see HttpServlet#HttpServlet()\r\n     *\/\r\n    public apply() {\r\n        super();\r\n        \/\/ TODO Auto-generated constructor stub\r\n    }\r\n\r\n\t\/**\r\n\t * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)\r\n\t *\/\r\n\tprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {\r\n\t\trequest.setCharacterEncoding(&quot;UTF-8&quot;);\r\n\t\tString name = request.getParameter(&quot;name&quot;);\r\n\t\tString tel  = request.getParameter(&quot;tel&quot;);\r\n\r\n\t\tperson psn = new person(name, tel);\r\n\t\trequest.setAttribute(&quot;person&quot;, psn);\r\n\r\n\t\tRequestDispatcher disp = request.getRequestDispatcher(&quot;\/WEB-INF\/jsp\/resp.jsp&quot;);\r\n\t\tdisp.forward(request, response);\r\n\t}\r\n}\r\n<\/pre>\n<p>\u53d7\u3051\u6e21\u3057\u306b\u4f7f\u7528\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f <a href=\"https:\/\/ja.wikipedia.org\/wiki\/JavaBeans\" target=\"_blank\" rel=\"noopener\">JavaBeans<\/a> \u3067\u5b9f\u88c5\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage mypcg;\r\nimport java.io.Serializable;\r\n\r\npublic class person implements Serializable{\r\n\tprivate String m_name;\r\n\tprivate String m_tel;\r\n\r\n\tpublic person() {}\r\n\tpublic person(String name, String tel) {\r\n\t\tthis.m_name = name;\r\n\t\tthis.m_tel = tel;\r\n\t}\r\n\r\n\tpublic String getName() { return this.m_name;}\r\n\tpublic void setName(String name) { this.m_name = name;}\r\n\tpublic String getTel() { return this.m_tel;}\r\n\tpublic void setTel(String tel) { this.m_tel = tel;}\r\n}\r\n<\/pre>\n<hr class=\"my_hr_bottom\">\n","protected":false},"excerpt":{"rendered":"<p>1. \u3084\u308a\u305f\u3044\u3053\u3068 \u8868\u984c\u306e\u901a\u308a\u3001\u4ee5\u4e0b\u306e\u4e8c\u3064\u306e Web\u30da\u30fc\u30b8\u3092\u4f5c\u308a\u305f\u3044\u3002 \u30da\u30fc\u30b8#1 : \u540d\u524d\u3068\u96fb\u8a71\u756a\u53f7\u3092\u5165\u529b\u3059\u308b\u753b\u9762 \u2190 JSP\u3067\u5b9f\u88c5 \u30da\u30fc\u30b8#2 : \u5165\u529b\u3092\u53d7\u3051\u4ed8\u3051\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u5fdc\u7b54\u753b\u9762 \u2190 Servlet\u3067\u5b9f\u88c5 2\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.dogrow.net\/android\/blog25\/\">\u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,15],"tags":[],"class_list":["post-482","post","type-post","status-publish","format-standard","hentry","category-eclipse2022","category-java"],"views":933,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/posts\/482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/comments?post=482"}],"version-history":[{"count":21,"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/posts\/482\/revisions"}],"predecessor-version":[{"id":511,"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/posts\/482\/revisions\/511"}],"wp:attachment":[{"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/media?parent=482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/categories?post=482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dogrow.net\/android\/wp-json\/wp\/v2\/tags?post=482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}