http://localhost:8090/TestServer/NewFile.jsp?sql=select phone from acesst where phone like '%010%'
like '% 값 %' 넣고서 검색을하면 %를 jsp에서 인식을 못하는군여..ㅠㅠ
like '% || 값 || %' 이런식으로도 인터넷찾아가면서 해봣지만 계속 디비에서는 인식을 못하네여...
혹시 % 인식 하게해주려면 어떻게해야할까요?
--------------------------------------------------------------------------------------------
해결하였습니다. 저는 안드로이드에서 파라미터값을 쿼리문으로 jsp로 보냈습니다.
like '%값%' 이렇게 하였지만 jsp에서 못받아들였습니다. 허나
'%%값%%' 햇더니 디비에서 인식하더군여 도움주신 분들 감사합니다~
GET방식으로 보낼려면 URL인코딩을 해줘야 합니다.
그보다. 쿼리를 그런식으로 보내는 방법은 SQL인젝션 공격의 대상이 됩니다.
보안에 아주 아주 취약한 방법이죠.
get방식 말고
jsp내에서 preparedstatement
객체에서 직접 넣어주시면 되지 않을까요??
url로 받는 파라미터는 그냥 단순값만 받아주시고 그값으로 jsp내에서 구현을 하는게 나을듯....
ex)
1. 안드로이드폰 에서 파라미터에 담아 URL 호출
2. jsp 에서 getparameter로 받은후 변수로 저장
3. jsp내에서 preparedStatement로 sql문 실행
string sql = "select * from table 어쩌구 저쩌구";
preparedstatement pstmt = con.preparestatement(sql)
pstmt.setSting(1, "%"+getParameter값+"%")




1. DB는 서버에 있습니까?
2. DBMS는 어떤것입니까? (오라클, MySQL, MSSQL 등..)
3. '%010%' 라는 값을 폰에서 jsp로 보내는 겁니까?
MySQL의 경우 '%'||값||'%'는 안됩니다. 오라클은 됩니다. 기타 다른 것은 해보질 않아 모르겠습니다.
파라미터에 %를넣는건 추천하고 싶지 않습니다.
서버쪽에서 무조건 like검색을 해야하는거라면 굳이 %를 포함한 값을 보낼 필요는 없습니다.
서버에선 값만 받아서 쿼리를 만들때 %를 붙여주면 되니까요.
String sql = "select * from tb_all where phone like '%'||'"+값+"'||'%'";
이런식으로 쿼리를 만드셔야합니다.(오라클의 경우)