HttpServletRequest 의 경우 setParameter가 없어서 찾다보니 아래처럼 코드를 짜드라 public ResponseEntity<String> selectBankLgC(HttpServletRequest req) throws Exception { ModifiableHttpServletRequest mReq= new ModifiableHttpServletRequest(req); Enumeration<?> requestParams = req.getParameterNames(); while(requestParams.hasMoreElements()){ String key = (String) requestParams.nextElement(); String value = req.getParameter(key); if(key.equals("dataver")) value="2"; //dataver:2로 고정 mReq.setParameter(key, value); } req = (HttpServletRequest) mReq; return this.selectBank(req); }
[카테고리:] Spring
application/json post 전송(jQuery, spring)
javascript $.ajax({ url: "www.aaboo.com/giveMeJsonOK" , type: "post" , contentType: "application/json;" //없을 경우 Default: application/x-www-form-urlencoded , data: JSON.stringify({a:1, b:2, c:[1,2,3]}) , success: function(result){ console.log(result) } }) java import java.util.HashMap; import javax.inject.Inject; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.Controller; import com.google.gson.Gson; @Controller public class aabooTestClass { @inject private Gson gson; @RequestMapping(value="/giveMeJsonOK", method=ReqestMethod.POST) public void giveMeJsonOK(@RequestBody HashMap<String, Object> payload, @HttpServletReseponse res) … 계속 읽기 application/json post 전송(jQuery, spring)
Spring SFTP 예제
SFTP 실행 예제 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.net.SocketException; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; public class SFTPClient { //private static final int BUFFER_SIZE = 4096; private String server; // 도착지 IP private int port = 22; // SFTP 기본포트 private String username; // 사용자명 … 계속 읽기 Spring SFTP 예제
WAS 쉘파일 실행 예제
TestController.java @RequestMapping(value = "/test/execShellFile",method = {RequestMethod.POST, RequestMethod.GET}) @ResponseBody public String putDeployWarGit( HttpServletRequest request, HttpServletResponse response, Model model ) { String service = request.getParameter("serviceCD"); String server = request.getParameter("serverCD"); String itemList = request.getParameter("itemlist"); DeployServerInfoInVO serInVO = new DeployServerInfoInVO(); serInVO.setServiceId(service); serInVO.setServerId(server); List<DeployServerInfoOutVO> list = proService.selectDeployServerInfoList(serInVO); JsonParser jsonParser = new JsonParser(); JsonArray itemArray = (JsonArray)jsonParser.parse(itemList); JsonObject pItem = (JsonObject) … 계속 읽기 WAS 쉘파일 실행 예제
java에서 http multipart/form-data 파일 전송
웹에서 파일을 전송할 때 아래처럼 해서 전송하는 것을 <form enctype="multipart/form-data"> <input type="text" name="param1"> <input type="text" name="param4"> <input type="file" name="file1"> <button type="submit">전송</button> </form> 서버에서 처리할 때 쓰이는 방법이군요. /********************************************************************** * 기본설정 *********************************************************************/ private static final int readByteSize = 256; private static final String charset= "UTF-8"; private static final String CRLF= "\r\n"; private PrintWriter writer = null; … 계속 읽기 java에서 http multipart/form-data 파일 전송
Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
maven 업데이트 실행하면 메이븐 라이브러리 경로가 삭제되는 현상이 있다고 함 아래처럼 하니 해결되었음 프로젝트 우클릭 > properties > Deployment Assembly > Add 버튼 > Java Build Path Entries > Maven Dependencies 선택 > Finish > Apply
Java 정규표현식 기초 다지기
import java.util.regex.Matcher; import java.util.regex.Pattern; public static void test(){ String regExp1 = "[a-zA-Z]"; //영문(대소문자) 포함 여부 String regExp2 = "[ㄱ-힣]"; //한글 포함 여부 String regExp3 = "[0-9]"; //숫자 포함 여부1 String regExp4 = "[\\d]"; //숫자 포함 여부2 String regExp5 = "[\\s]"; //공백 포함 여부(역슬래쉬는 원표시다) String regExp6 = "[\\w]"; //영문, 숫자, _(언더스코어) 포함 여부 String regExp1_ … 계속 읽기 Java 정규표현식 기초 다지기
Mybatis Insert 한 key값 바로 반환
테이블에 자료를 INSERT를 할 경우, 생성 되어진 Key값을 재사용하고 싶은 경우가 있다. Service.java Mapper mapper = sqlSession.getMapper(Mapper.class); HashMap<String, Object> param = ...; //{value1:"value1", value2:"value2"} int resultCount = mapper.insertAabooTable(param); //새로 인서트된 Row의 key값은 어떻게 가져오지? Mapper.java (interface) int insertAabooTable(@Param("param") Map<String, Object> param); Mapper.xml <insert id="insertAabooTable" parameterType="com.company.aaboo.AabooInsertDto"> INSERT INTO aabooTable (idx, value1, value2) VALUES ( (SELECT MAX(idx)+1 … 계속 읽기 Mybatis Insert 한 key값 바로 반환
프로그램에 의한 트랜잭션 txManager, transaction
servlet-context.xml <beans:beans ... xmlns:tx="http://www.springframework.org/schema/tx" ... > ... <tx:jta-transaction-manager/> ... </beans:beans> Test.java public class Test { ... @Autowired private DataSourceTransactionManager txManager; ... public ResponseEntity<String> txTest(HttpServletRequest req){ ... DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus status = txManager.getTransaction(def); try{ ... txTestMapper.deleteTxTest(param); txTestMapper.updateTxTest(param); txTestMapper.insertTxTest(param); txManager.commit(status); ... }catch(Exception e){ e.printStackTrace(); txManager.rollback(status); ... } ... }
myBatis foreach와 list.size
<select id="selectAaboo" resultType="hashmap" parameterType="hashmap"> SELECT name, age FROM AABOO WHERE age = #{age} <if test="jobList!=null and jobList.size!=0"> AND job IN <foreach collection="jobList" item="item" index="index" open="(" close=")" separator=","> #{item} </foreach> </if> </select> 5번 라인 : jobList.size!=0 7번 라인 : - collection : ArrayList 형 - item : ArrayList의 index 순서에 있는 데이터 - index : ArrayList의 … 계속 읽기 myBatis foreach와 list.size