{"id":491,"date":"2015-04-13T17:23:24","date_gmt":"2015-04-13T08:23:24","guid":{"rendered":"http:\/\/www.ois-yokohama.co.jp\/oisblog\/?p=491"},"modified":"2022-09-27T17:40:11","modified_gmt":"2022-09-27T08:40:11","slug":"spring-4-1-%e3%82%92%e8%a9%a6%e3%81%99","status":"publish","type":"post","link":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491","title":{"rendered":"Spring 4.1 \u3092\u8a66\u3059"},"content":{"rendered":"<div class=\"veu_autoEyeCatchBox\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001-1024x683.jpg\" class=\"attachment-large size-large wp-post-image\" alt=\"\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001-1024x683.jpg 1024w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001-300x200.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001-768x512.jpg 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/div>\n<p><span style=\"color: #666666;\">\u3053\u3093\u306b\u3061\u308f\u3001\u732b\u6d3e\u306e\u307b\u3052PG\u3067\u3059\u3002\u4eca\u56de\u306f Spring4 \u3092\u8a66\u3057\u3066\u307f\u307e\u3059<\/span>\u3002<\/p>\n<h2>\uff11\u3001eclipse\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>\u4ee5\u4e0b\u3092\u5404\u30b5\u30a4\u30c8\u3092\u53c2\u8003\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3002<\/p>\n<h4>\u30fb<a title=\"eclipse\" href=\"http:\/\/mergedoc.sourceforge.jp\/index.html#\/pleiades.html\" target=\"_blank\" rel=\"noopener noreferrer\">eclipse<\/a><\/h4>\n<p>4.4\u3092\u4f7f\u7528<\/p>\n<p>&nbsp;<\/p>\n<h2>\uff12\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4f5c\u6210<\/h2>\n<p>eclipse \u3092\u8d77\u52d5\u3057\u3001\u65b0\u898f\u4f5c\u6210\uff1e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3001maven\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u9078\u629e\u3002<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000001.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-520 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000001-300x188.jpg\" alt=\"WS000001\" width=\"300\" height=\"188\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000001-300x188.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000001-768x480.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000001-1024x640.jpg 1024w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000001.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000002.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-521 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000002-300x156.jpg\" alt=\"WS000002\" width=\"300\" height=\"156\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000002-300x156.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000002-768x399.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000002.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u6b21\u3078<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000003.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-522 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000003-300x188.jpg\" alt=\"WS000003\" width=\"300\" height=\"188\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000003-300x188.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000003-768x482.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000003.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nmaven-archetype-webapp \u3092\u9078\u629e<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000004.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-523 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000004-300x227.jpg\" alt=\"WS000004\" width=\"300\" height=\"227\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000004-300x227.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000004-768x582.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000004.jpg 798w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u4ee5\u4e0b\u3092\u5165\u529b\u3057\u3001\u5b8c\u4e86\u62bc\u4e0b<br \/>\n\u30b0\u30eb\u30fc\u30d7ID\uff1ajp.co.ois.hoge<br \/>\n\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8ID\uff1asandbox<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000005.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-524 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000005-300x227.jpg\" alt=\"WS000005\" width=\"300\" height=\"227\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000005-300x227.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000005-768x582.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000005.jpg 798w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306f\u306a\u305c\u304b\u30d5\u30a9\u30eb\u30c0\u304c\u6b20\u640d\u3057\u3066\u3044\u308b\u306e\u3067\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3059\u308b\u3002<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000006.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-525 size-medium alignnone\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000006-300x220.jpg\" alt=\"\" width=\"300\" height=\"220\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000006-300x220.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000006-768x562.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000006-1024x749.jpg 1024w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000006.jpg 1093w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u4ee5\u4e0b\u306e\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3059\u308b\u3002<br \/>\nsrc\/main\/java<br \/>\nsrc\/test\/java<\/p>\n<h2>\uff13\u3001pom.xml\u306e\u4fee\u6b63<\/h2>\n<p>\u4ee5\u4e0b\u3092pom.xml\u306b\u8ffd\u52a0\u3002<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true\">&lt;properties&gt;\r\n &lt;spring.version&gt;4.1.4.RELEASE&lt;\/spring.version&gt;\r\n&lt;\/properties&gt;\r\n<\/pre>\n<pre class=\"lang:java decode:true\">&lt;dependency&gt;\r\n &lt;groupId&gt;log4j&lt;\/groupId&gt;\r\n &lt;artifactId&gt;log4j&lt;\/artifactId&gt;\r\n &lt;version&gt;1.2.17&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n&lt;groupId&gt;javax.validation&lt;\/groupId&gt;\r\n &lt;artifactId&gt;validation-api&lt;\/artifactId&gt;\r\n &lt;version&gt;1.1.0.Final&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;org.hibernate&lt;\/groupId&gt;\r\n &lt;artifactId&gt;hibernate-validator&lt;\/artifactId&gt;\r\n &lt;version&gt;5.2.0.Alpha1&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;!-- javax.servlet --&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;javax.servlet&lt;\/groupId&gt;\r\n &lt;artifactId&gt;javax.servlet-api&lt;\/artifactId&gt;\r\n &lt;version&gt;3.1.0&lt;\/version&gt;\r\n &lt;scope&gt;provided&lt;\/scope&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;javax.servlet.jsp&lt;\/groupId&gt;\r\n &lt;artifactId&gt;javax.servlet.jsp-api&lt;\/artifactId&gt;\r\n &lt;version&gt;2.3.1&lt;\/version&gt;\r\n &lt;scope&gt;provided&lt;\/scope&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;javax.servlet&lt;\/groupId&gt;\r\n &lt;artifactId&gt;jstl&lt;\/artifactId&gt;\r\n &lt;version&gt;1.2&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;!-- Spring Framework --&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n &lt;artifactId&gt;spring-core&lt;\/artifactId&gt;\r\n &lt;version&gt;${spring.version}&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n &lt;artifactId&gt;spring-web&lt;\/artifactId&gt;\r\n &lt;version&gt;${spring.version}&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n &lt;artifactId&gt;spring-webmvc&lt;\/artifactId&gt;\r\n &lt;version&gt;${spring.version}&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n &lt;artifactId&gt;spring-jdbc&lt;\/artifactId&gt;\r\n &lt;version&gt;${spring.version}&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n&lt;dependency&gt;\r\n &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n &lt;artifactId&gt;spring-context-support&lt;\/artifactId&gt;\r\n &lt;version&gt;${spring.version}&lt;\/version&gt;\r\n&lt;\/dependency&gt;<\/pre>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<h2>\uff14\u3001web.xml \u306e\u4fee\u6b63<\/h2>\n<p>WEB-INF\u306e\u4e0b\u306eweb.xml\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;web-app xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n xmlns=\"http:\/\/xmlns.jcp.org\/xml\/ns\/javaee\" xmlns:jsp=\"http:\/\/java.sun.com\/xml\/ns\/javaee\/jsp\"\r\n xsi:schemaLocation=\"http:\/\/xmlns.jcp.org\/xml\/ns\/javaee http:\/\/xmlns.jcp.org\/xml\/ns\/javaee\/web-app_3_1.xsd\"\r\n version=\"3.1\"&gt;\r\n &lt;filter&gt;\r\n &lt;filter-name&gt;CharacterEncodingFilter&lt;\/filter-name&gt;\r\n &lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;\/filter-class&gt;\r\n &lt;init-param&gt;\r\n &lt;param-name&gt;encoding&lt;\/param-name&gt;\r\n &lt;param-value&gt;utf-8&lt;\/param-value&gt;\r\n &lt;\/init-param&gt;\r\n &lt;init-param&gt;\r\n &lt;param-name&gt;forceEncoding&lt;\/param-name&gt;\r\n &lt;param-value&gt;true&lt;\/param-value&gt;\r\n &lt;\/init-param&gt;\r\n &lt;\/filter&gt;\r\n &lt;filter-mapping&gt;\r\n &lt;filter-name&gt;CharacterEncodingFilter&lt;\/filter-name&gt;\r\n &lt;url-pattern&gt;\/*&lt;\/url-pattern&gt;\r\n &lt;\/filter-mapping&gt;\r\n &lt;servlet&gt;\r\n &lt;servlet-name&gt;dispatcher&lt;\/servlet-name&gt;\r\n &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;\/servlet-class&gt;\r\n &lt;init-param&gt;\r\n &lt;param-name&gt;contextConfigLocation&lt;\/param-name&gt;\r\n &lt;param-value&gt;\/WEB-INF\/spring-context.xml&lt;\/param-value&gt;\r\n &lt;\/init-param&gt;\r\n &lt;\/servlet&gt;\r\n &lt;servlet-mapping&gt;\r\n &lt;servlet-name&gt;dispatcher&lt;\/servlet-name&gt;\r\n &lt;url-pattern&gt;\/&lt;\/url-pattern&gt;\r\n &lt;\/servlet-mapping&gt;\r\n&lt;\/web-app&gt;<\/pre>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<h2>\uff15\u3001spring-context.xml \u306e\u4f5c\u6210<\/h2>\n<p>WEB-INF\u306e\u4e0b\u306bspring-context.xml\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;beans xmlns=\"http:\/\/www.springframework.org\/schema\/beans\"\r\n xmlns:context=\"http:\/\/www.springframework.org\/schema\/context\"\r\n xmlns:mvc=\"http:\/\/www.springframework.org\/schema\/mvc\"\r\n xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n xmlns:p=\"http:\/\/www.springframework.org\/schema\/p\"\r\n xmlns:tx =\"http:\/\/www.springframework.org\/schema\/tx\"\r\n xmlns:task=\"http:\/\/www.springframework.org\/schema\/task\"\r\n xsi:schemaLocation=\"\r\n http:\/\/www.springframework.org\/schema\/beans\r\n http:\/\/www.springframework.org\/schema\/beans\/spring-beans-4.1.xsd\r\n http:\/\/www.springframework.org\/schema\/context\r\n http:\/\/www.springframework.org\/schema\/context\/spring-context-4.1.xsd\r\n http:\/\/www.springframework.org\/schema\/mvc\r\n http:\/\/www.springframework.org\/schema\/mvc\/spring-mvc-4.1.xsd\"&gt;\r\n &lt;context:component-scan base-package=\"jp.co.ois.hoge.sandbox\" \/&gt;\r\n &lt;mvc:annotation-driven \/&gt;\r\n &lt;bean\r\n class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\"&gt;\r\n &lt;property name=\"prefix\" value=\"\/WEB-INF\/views\/\" \/&gt;\r\n &lt;property name=\"suffix\" value=\".jsp\" \/&gt;\r\n &lt;\/bean&gt;\r\n &lt;mvc:resources mapping=\"\/resources\/**\" location=\"\/resources\/\" \/&gt;\r\n&lt;\/beans&gt;<\/pre>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<h2>\uff16\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306e\u4f5c\u6210<\/h2>\n<p>HogeController \u30af\u30e9\u30b9\u306e\u4f5c\u6210<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true\">package jp.co.ois.hoge.sandbox;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\n@Controller\r\npublic class HogeController {\r\n @RequestMapping(\"\/hoge\")\r\n @ResponseBody\r\n public String hoge() {\r\n return \"hogehoge !\";\r\n }\r\n}<\/pre>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<h2>\uff17\u3001\u52d5\u4f5c\u78ba\u8a8d<\/h2>\n<p>\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u3001\u65b0\u898f\uff1e\u305d\u306e\u4ed6\u3001\u30b5\u30fc\u30d0\u30fc\u306e\u30b5\u30fc\u30d0\u30fc\u9078\u629e\u3001\u6b21\u3078<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000007.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-547 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000007-300x156.jpg\" alt=\"WS000007\" width=\"300\" height=\"156\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000007-300x156.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000007-768x399.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000007.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nApache\u306etomcat\u3092\u9078\u629e\uff08\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u597d\u304d\u306a\u306e\u3092\uff09<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000008.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-548 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000008-300x189.jpg\" alt=\"WS000008\" width=\"300\" height=\"189\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000008-300x189.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000008-768x483.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000008.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\ntomcat\u306e\u30d5\u30a9\u30eb\u30c0\u3092\u6307\u5b9a\u3057\u3001\u5b8c\u4e86\u62bc\u4e0b<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000009.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-549 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000009-300x189.jpg\" alt=\"WS000009\" width=\"300\" height=\"189\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000009-300x189.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000009-768x483.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000009.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nsandbox \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3001\u5b9f\u884c\uff1e\u30b5\u30fc\u30d0\u30fc\u3067\u5b9f\u884c\u3092\u9078\u629e\u3001\u6b21\u3078\u62bc\u4e0b\u3001\u5b8c\u4e86\u62bc\u4e0b\u3002<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000010.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-550 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000010-300x188.jpg\" alt=\"WS000010\" width=\"300\" height=\"188\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000010-300x188.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000010-768x480.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000010-1024x640.jpg 1024w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000010.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000011.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-551 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000011-300x222.jpg\" alt=\"WS000011\" width=\"300\" height=\"222\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000011-300x222.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000011-768x569.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000011.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000012.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-552 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000012-300x222.jpg\" alt=\"WS000012\" width=\"300\" height=\"222\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000012-300x222.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000012-768x569.jpg 768w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000012.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\ntomcat\u304c\u8d77\u52d5\u3057\u305f\u3089\u3001\u307b\u3052\u3063\u3066\u307f\u308b\u3002<br \/>\n\u30d6\u30e9\u30a6\u30b6\u3067\u4ee5\u4e0b\u306b\u30a2\u30af\u30bb\u30b9<br \/>\nhttp:\/\/localhost:8080\/sandbox\/hoge<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000013.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-553 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000013-300x213.jpg\" alt=\"WS000013\" width=\"300\" height=\"213\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000013-300x213.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000013.jpg 702w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u307b\u3052\uff01\uff08good\uff09<\/p>\n<h2>8\u3001\u5165\u529b\u753b\u9762\u3092\u4f5c\u6210\u3057\u3066\u307f\u308b<\/h2>\n<p>\u5165\u529b\u5024\u306f\u540d\u524d\u3068\u30b3\u30e1\u30f3\u30c8\u306e\u4e8c\u3064\u3002\u540d\u524d\u306f\uff11\uff5e\uff11\uff10\u6587\u5b57\u3002\u30b3\u30e1\u30f3\u30c8\u306f\uff11\uff5e\uff19\uff19\uff19\u6587\u5b57\u3068\u3059\u308b\u3002<br \/>\nHogeController \u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4fee\u6b63<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true\">package jp.co.ois.hoge.sandbox;\r\nimport javax.validation.Valid;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.ui.Model;\r\nimport org.springframework.validation.BindingResult;\r\nimport org.springframework.web.bind.annotation.ModelAttribute;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\n@Controller\r\npublic class HogeController {\r\n @ModelAttribute(\"hogeForm\")\r\n public HogeForm createForm() {\r\n return new HogeForm();\r\n }\r\n @RequestMapping(\"\/hoge\")\r\n public String hoge(Model model) {\r\n return \"hoge\";\r\n }\r\n @RequestMapping(\"\/hogehoge\")\r\n public String hogehoge(@Valid HogeForm form, BindingResult result, Model model) {\r\n if (result.hasErrors()) {\r\n model.addAttribute(\"result\", \"error\");\r\n return \"hoge\";\r\n }\r\n model.addAttribute(\"result\", \"success\");\r\n return \"hoge\";\r\n }\r\n}<\/pre>\n<\/blockquote>\n<p>HogeForm \u3092\u4f5c\u6210<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true\">package jp.co.ois.hoge.sandbox;\r\nimport javax.validation.constraints.Size;\r\npublic class HogeForm {\r\n @Size(min = 1, max = 10)\r\n String name = null;\r\n @Size(min = 1, max = 999)\r\n String comment = null;\r\n public String getName() {\r\n return name;\r\n }\r\n public void setName(String name) {\r\n this.name = name;\r\n }\r\n public String getComment() {\r\n return comment;\r\n }\r\n public void setComment(String comment) {\r\n this.comment = comment;\r\n }\r\n}<\/pre>\n<\/blockquote>\n<p>WEB-INF\/views\/hoge.jsp \u3092\u4f5c\u6210<\/p>\n<blockquote>\n<pre class=\"lang:java decode:true \">&lt;%@page contentType=\"text\/html; charset=utf-8\" %&gt;\r\n&lt;%@taglib uri=\"http:\/\/www.springframework.org\/tags\/form\" prefix=\"form\"%&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n &lt;title&gt;\u307b\u3052&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n &lt;form:form modelAttribute=\"hogeForm\" servletRelativeAction=\"\/hogehoge\" method=\"POST\"&gt;\r\n &lt;h1&gt;\u307b\u3052&lt;\/h1&gt;\r\n &lt;br&gt;&lt;br&gt;\r\n \u540d\u524d\uff1a&lt;form:input path=\"name\" \/&gt;\r\n &lt;form:errors path=\"name\" \/&gt;&lt;br&gt;\r\n \u30b3\u30e1\u30f3\u30c8\uff1a&lt;form:input path=\"comment\" \/&gt;\r\n &lt;form:errors path=\"comment\" \/&gt;&lt;br&gt;\r\n &lt;hr&gt;\r\n &lt;input type=\"submit\" value=\"\u307b\u3052\"&gt;\r\n &lt;\/form:form&gt;\r\n ${result}&lt;br&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<\/blockquote>\n<p>\u52d5\u4f5c\u78ba\u8a8d\u3057\u3066\u307f\u308b\u3002<br \/>\nhttp:\/\/localhost:8080\/sandbox\/hoge<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000014.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-558 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000014-300x213.jpg\" alt=\"WS000014\" width=\"300\" height=\"213\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000014-300x213.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000014.jpg 702w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u4f55\u3082\u5165\u529b\u3057\u306a\u3044\u3067\u307b\u3052\u62bc\u4e0b\u3002<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000015.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-559 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000015-300x213.jpg\" alt=\"WS000015\" width=\"300\" height=\"213\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000015-300x213.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000015.jpg 702w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u540d\u524d\uff1a\u307b\u3052\u3001\u30b3\u30e1\u30f3\u30c8\uff1a\u307b\u3052\u307b\u3052\u3001\u307b\u3052\u62bc\u4e0b\u3002<br \/>\n<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000016.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-560 size-medium\" src=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000016-300x213.jpg\" alt=\"WS000016\" width=\"300\" height=\"213\" srcset=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000016-300x213.jpg 300w, https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2015\/04\/WS000016.jpg 702w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>9\u3001form\u30bf\u30b0\u306eaction\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u3064\u3044\u3066<\/h2>\n<p>spring4\u306b\u306a\u3063\u3066\u3001\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9\u304c\u81ea\u52d5\u3067\u8a2d\u5b9a\u3055\u308c\u306a\u304f\u306a\u3063\u305f\u3002\u4ee3\u308f\u308a\u306b\u3001servletRelativeAction\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3059\u308c\u3070\u5927\u4e08\u592b\u306a\u3088\u3046\u3060\u3002<br \/>\n\u203b\u6700\u521d ${pageContext.request.contextPath} \u3068\u3057\u3066\u3044\u305f\u304c\u3001\u3057\u3063\u304f\u308a\u3053\u306a\u3044\u306e\u3067\u3001FormTag \u306e\u30bd\u30fc\u30b9\u3092\u898b\u3066servletRelativeAction\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u63a2\u3057\u5f53\u3066\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4e00\u5f0f\u306f\u4ee5\u4e0b\u306b\u7f6e\u304d\u307e\u3057\u305f\u3002<br \/>\nhttp:\/\/www.ois-yokohama.co.jp\/oisblog\/file\/sandbox.zip<\/p>\n<p>\u3068\u308a\u3042\u3048\u305a\u3001\u4eca\u56de\u306f\u3053\u3053\u307e\u3067\u3002\u6b21\u56de\u306fMyBatis\u3092\u4f7f\u3063\u3066DB\u3078\u306e\u4fdd\u5b58\u3092\u8a66\u3057\u3066\u307f\u308b\u4e88\u5b9a\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u308f\u3001\u732b\u6d3e\u306e\u307b\u3052PG\u3067\u3059\u3002\u4eca\u56de\u306f Spring4 \u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002 \uff11\u3001eclipse\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u4ee5\u4e0b\u3092\u5404\u30b5\u30a4\u30c8\u3092\u53c2\u8003\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3002 \u30fbeclipse 4.4\u3092\u4f7f\u7528 &nbsp; \uff12\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4f5c\u6210 ec [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":117,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","vkExUnit_EyeCatch_disable":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","footnotes":""},"categories":[6],"tags":[21,22,23,24],"class_list":["post-491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineer","tag-action","tag-form","tag-servletrelativeaction","tag-spring"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"akiyama\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"ja_JP\" \/>\n\t\t<meta property=\"og:site_name\" content=\"OIS\u30d6\u30ed\u30b0 | OIS\u306e\u30d6\u30ed\u30b0\u7d39\u4ecb\" \/>\n\t\t<meta property=\"og:type\" content=\"activity\" \/>\n\t\t<meta property=\"og:title\" content=\"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"3503\" \/>\n\t\t<meta property=\"og:image:height\" content=\"2336\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@ois_yokohama\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@ois_yokohama\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#article\",\"name\":\"Spring 4.1 \\u3092\\u8a66\\u3059 | OIS\\u30d6\\u30ed\\u30b0\",\"headline\":\"Spring 4.1 \\u3092\\u8a66\\u3059\",\"author\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/author\\\/akiyama#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/bus0014-001.jpg\",\"width\":3503,\"height\":2336},\"datePublished\":\"2015-04-13T17:23:24+09:00\",\"dateModified\":\"2022-09-27T17:40:11+09:00\",\"inLanguage\":\"ja\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#webpage\"},\"articleSection\":\"\\u6280\\u8853\\u8b1b\\u7fd2, action, form, servletRelativeAction, spring\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/category\\\/engineer#listItem\",\"name\":\"\\u6280\\u8853\\u8b1b\\u7fd2\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/category\\\/engineer#listItem\",\"position\":2,\"name\":\"\\u6280\\u8853\\u8b1b\\u7fd2\",\"item\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/category\\\/engineer\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#listItem\",\"name\":\"Spring 4.1 \\u3092\\u8a66\\u3059\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#listItem\",\"position\":3,\"name\":\"Spring 4.1 \\u3092\\u8a66\\u3059\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/category\\\/engineer#listItem\",\"name\":\"\\u6280\\u8853\\u8b1b\\u7fd2\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/#organization\",\"name\":\"OIS\\u30d6\\u30ed\\u30b0\",\"description\":\"OIS\\u306e\\u30d6\\u30ed\\u30b0\\u7d39\\u4ecb\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/OIS\\u30ed\\u30b4-\\u6587\\u5b57\\u306a\\u3057.png\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491\\\/#organizationLogo\",\"width\":128,\"height\":128},\"image\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/orientalinformationservice\",\"https:\\\/\\\/x.com\\\/ois_yokohama\",\"https:\\\/\\\/www.instagram.com\\\/ois_yokohama1978\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/author\\\/akiyama#author\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/author\\\/akiyama\",\"name\":\"akiyama\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ff5bd4b5c6242b44911d761454b7fa2ee660c3e49a42278fda2507916d9816d2?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"akiyama\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#webpage\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491\",\"name\":\"Spring 4.1 \\u3092\\u8a66\\u3059 | OIS\\u30d6\\u30ed\\u30b0\",\"inLanguage\":\"ja\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/author\\\/akiyama#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/author\\\/akiyama#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/bus0014-001.jpg\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491\\\/#mainImage\",\"width\":3503,\"height\":2336},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/archives\\\/491#mainImage\"},\"datePublished\":\"2015-04-13T17:23:24+09:00\",\"dateModified\":\"2022-09-27T17:40:11+09:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/#website\",\"url\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/\",\"name\":\"OIS\\u30d6\\u30ed\\u30b0\",\"description\":\"OIS\\u306e\\u30d6\\u30ed\\u30b0\\u7d39\\u4ecb\",\"inLanguage\":\"ja\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ois-yokohama.co.jp\\\/oisblog2018\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0","description":"","canonical_url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#article","name":"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0","headline":"Spring 4.1 \u3092\u8a66\u3059","author":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/author\/akiyama#author"},"publisher":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg","width":3503,"height":2336},"datePublished":"2015-04-13T17:23:24+09:00","dateModified":"2022-09-27T17:40:11+09:00","inLanguage":"ja","mainEntityOfPage":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#webpage"},"isPartOf":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#webpage"},"articleSection":"\u6280\u8853\u8b1b\u7fd2, action, form, servletRelativeAction, spring"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018#listItem","position":1,"name":"Home","item":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/category\/engineer#listItem","name":"\u6280\u8853\u8b1b\u7fd2"}},{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/category\/engineer#listItem","position":2,"name":"\u6280\u8853\u8b1b\u7fd2","item":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/category\/engineer","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#listItem","name":"Spring 4.1 \u3092\u8a66\u3059"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#listItem","position":3,"name":"Spring 4.1 \u3092\u8a66\u3059","previousItem":{"@type":"ListItem","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/category\/engineer#listItem","name":"\u6280\u8853\u8b1b\u7fd2"}}]},{"@type":"Organization","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/#organization","name":"OIS\u30d6\u30ed\u30b0","description":"OIS\u306e\u30d6\u30ed\u30b0\u7d39\u4ecb","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/","logo":{"@type":"ImageObject","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2025\/09\/OIS\u30ed\u30b4-\u6587\u5b57\u306a\u3057.png","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491\/#organizationLogo","width":128,"height":128},"image":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/orientalinformationservice","https:\/\/x.com\/ois_yokohama","https:\/\/www.instagram.com\/ois_yokohama1978\/"]},{"@type":"Person","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/author\/akiyama#author","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/author\/akiyama","name":"akiyama","image":{"@type":"ImageObject","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/ff5bd4b5c6242b44911d761454b7fa2ee660c3e49a42278fda2507916d9816d2?s=96&d=mm&r=g","width":96,"height":96,"caption":"akiyama"}},{"@type":"WebPage","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#webpage","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491","name":"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0","inLanguage":"ja","isPartOf":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/#website"},"breadcrumb":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#breadcrumblist"},"author":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/author\/akiyama#author"},"creator":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/author\/akiyama#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491\/#mainImage","width":3503,"height":2336},"primaryImageOfPage":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491#mainImage"},"datePublished":"2015-04-13T17:23:24+09:00","dateModified":"2022-09-27T17:40:11+09:00"},{"@type":"WebSite","@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/#website","url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/","name":"OIS\u30d6\u30ed\u30b0","description":"OIS\u306e\u30d6\u30ed\u30b0\u7d39\u4ecb","inLanguage":"ja","publisher":{"@id":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/#organization"}}]},"og:locale":"ja_JP","og:site_name":"OIS\u30d6\u30ed\u30b0 | OIS\u306e\u30d6\u30ed\u30b0\u7d39\u4ecb","og:type":"activity","og:title":"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0","og:url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491","og:image":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg","og:image:secure_url":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg","og:image:width":3503,"og:image:height":2336,"twitter:card":"summary","twitter:site":"@ois_yokohama","twitter:title":"Spring 4.1 \u3092\u8a66\u3059 | OIS\u30d6\u30ed\u30b0","twitter:creator":"@ois_yokohama","twitter:image":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-content\/uploads\/2014\/10\/bus0014-001.jpg"},"aioseo_meta_data":{"post_id":"491","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"activity","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-12-24 02:42:44","updated":"2025-09-17 11:15:01","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/category\/engineer\" title=\"\u6280\u8853\u8b1b\u7fd2\">\u6280\u8853\u8b1b\u7fd2<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSpring 4.1 \u3092\u8a66\u3059\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018"},{"label":"\u6280\u8853\u8b1b\u7fd2","link":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/category\/engineer"},{"label":"Spring 4.1 \u3092\u8a66\u3059","link":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/archives\/491"}],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/posts\/491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/comments?post=491"}],"version-history":[{"count":4,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/posts\/491\/revisions"}],"predecessor-version":[{"id":7922,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/posts\/491\/revisions\/7922"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/media\/117"}],"wp:attachment":[{"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/media?parent=491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/categories?post=491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ois-yokohama.co.jp\/oisblog2018\/wp-json\/wp\/v2\/tags?post=491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}