목록JSP (26)
wrkbrs
웹 애플리케이션 보안 처리, 해결책 웹 애플리케이션을 개발하면서 대부분 요구사항에 맞는 주요 기능을 개발하는데 열을 올린다.주요 기능을 개발하는 것도 중요하지만 그것 못지 않게 아니면 더 중요한 것이 보안이다.해커가 공격하는 루트는 엄청나게 많지만 개발을 공부하는 입장에서 최소한의 방어를 가진 애플리케이션을 개발해야 한다.간단한 케이스 별로 정리를 해두겠다.1. 버그 없는 코드 유지- 대부분의 버그는 나쁜 것이며 버그가 보안 취약점을 일으킬 수 있다.버그를 최소화 하는 법1) 테스트 하기. 단위테스트부터 꼼꼼한 테스트는 버그를 줄일 수 있다.2) 코드 검토하기. 코드를 많은 사람들과 본다.3) 신뢰할만한 라이브러리 사용. 누군가 라이브러리를 만들었다면 잘 테스트되고 신뢰할만 한지 확인할 것.4) 좋은 코..
# 에러 메세지 심각: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/my_first_web_app]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addCh..
list로 이동이런식으로 인자값의 name이 한글이라면java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986이 에러가 발생했다.저 name 변수에 한글이 아닌 영어로 바꾸면 에러가 나지 않았다.자바스크립도에서도 저 에러가 났었다. 하지만 검색을 해보면자바스크립트에서 JSP로 이동할 때 발생하는 에러가 대부분이었다. list로 이동이런식으로 하면 정상적으로 작동된다. ------------------------------------- String param = new String(request.getParamet..
jsp에는 session이 내부에 이미 생성되어 있지만java(servlet) controller에는 session을 새로 생성해야한다. jspsession.setAttribute("id", id); 이런식으로 바로 사용 가능 javaHttpSession httpSession = null;httpSession = request.getSession(); session객체를 생성해야함
POST 서블릿에 추가request.setCharacterEncoding("UTF-8""); Servers - server.xml Connector에 추가URIEncoding="UTF-8"
String uri = request.getRequestURI();String conPath = request.getContextPath();String com = uri.substring(conPath.length()); uri: /JSP_MVC_Project/list.do conPath: /JSP_MVC_Project com: /list.do
2018.11.01 PM 1:05
• Forward와 Redirect의 차이JSP/Servlet에는 현재 작업중인 페이지에서 다른 페이지로 이동하는 두 가지 방식의 페이지 전환 기능이 있다. 하나는 Forward이고 하나는 Redirect이다. 둘 다 다른 웹 페이지로 이동하지만 행동 양태가 다르다. • Redirect : Web Container는 Redirect 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내린다. 그러면 웹 브라우저는 URL을 지시된 주소로 바꾸고 그 주소로 이동한다. 다른 웹 컨테이너에 있는 주소로 이동이 가능하다. 새로운 페이지에서는 request와 response객체가 새롭게 생성된다. • Forward : Web Container 차원에서 페이지 이동만 있다. 실제로 웹 브라우저는 다른 페..
1. 간단히 요약 파라미터에는 String만 사용가능 애트리뷰트에는 다른 String외에 Object, Array 등 다양한 데이터 입력이 가능파라미터는 request에만 저장이 가능하고, 애트리뷰트는 session, context 등에도 저장이 가능애트리뷰트가 좀더 유연함파라미터는 HTML의 form 데이터 전송시 key/value 쌍으로 사용된다. 2. 자세한 비교 ■ 속성이란? - ServletContext, HttpServletRequest, HttpServletResponse, HttpSession 객체 중 하나에 설정해 놓는 객체(Object)이다. ■ 속성과 파라미터의 차이점 속성 파라미터 타입 Application / Context Request Session Application / co..
* 나중에 다시 추가 하여 정리하나 기본적인 내용이니 까먹지말자... request.setAttribute() 와 request.getAttribute() request.setParameter() 와 getParameter()를 이용하면 String의 값 밖엔 받을 수 없다. List를 받기 위해서는 setAttribute()와 getAttribute()를 써야 한다. 이때 type이 Object 이기 때문에 반드시 형변환을 해줘야 한다. 혹시나 해서 문법도 쓴다. action에서 객체를 request에 담을 때. request.setAttribute("객체명", 객체); 이렇게 해서 jsp를 호출하면 jsp에서 "객체명"을 이용해서 객체를 받을 수 있다. < % Object x = request.get..