대개 JSP에서 JAVA코드를 많이 쓰나요?

3,177 views
Skip to first unread message

Pyohwan Jang

unread,
Jul 3, 2014, 2:11:36 AM7/3/14
to ks...@googlegroups.com

여기 기웃 저기 기웃 소스코드를 살펴보면, jsp 에서 java 코드를 쓰는경우를 많이 봤습니다.

<%
 Sitrng temp = ...
...
%>


저는 여태 서비스에서 작업을 해주고 이것을 Map에 담아 컨트롤러에서 View로 넘겨줬는데요.

그냥 jsp 에서 자바를 작성해버리면 이것이 MVC 형태에 부합하는건가요?

어떻게 써야 잘쓰는것인지.. ㅎㅎ

이현호

unread,
Jul 3, 2014, 3:06:22 AM7/3/14
to ks...@googlegroups.com
화면에서는 JSTL 이나 Spring tag 혹은 custom tag 를 사용하고 스크립틀릿은 쓰지 않습니다.

스크립틀릿을 쓴다는건 로직이 포함된다는 의미라 VIEW 라고 할 수 없죠

오래된 사이트는 유지보수 하면서 JAVA 코딩을 안할려고 화면에 로직이 들어가있는 상황은 간혹 보이죠..

모델에서 처리를 다하고 화면은 단지 보여주기만 하는게 잘 쓰는거라고 생각합니다..ㅎㅎ


2014년 7월 3일 오후 3:11, Pyohwan Jang <phjan...@gmail.com>님이 작성:

--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/e2060126-9688-42d8-87dd-7ff8bb641a17%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

YongHyeok Lee

unread,
Jul 3, 2014, 3:15:29 AM7/3/14
to ks...@googlegroups.com
선택이 아닐런지...
상황상황 맞춰서...

나의 iPhone에서 보냄

2014. 7. 3. 16:06 이현호 <rune...@gmail.com> 작성:

KwonNam Son

unread,
Jul 3, 2014, 10:20:45 AM7/3/14
to ks...@googlegroups.com
View에서 로직, 특히 Java 코드는 사용하지 마세요.
JSP에서 Java Code는 안 보는게 좋습니다. 그리고 충분히 그게 가능하고요(저는 JSP에서 Java code 안쓴지 8년쯤 됐습니다)
최근 추세는 JSP의 로직도 너무 많다며 Mustache 같은 아예 로직이 없는 (logicless, 제어문이 없음) Template framework까지 나오는 상태입니다.

View의 로직은 최소한으로 하시고 가능하면 JSTL로 처리가 다 될 수 있도록 컨트롤러 단에서 데이터를 만들어 내려주는 것이 좋습니다.

Java Code는 Unit Test를 만들 수 있지만, View에 들어간 로직은 테스트하기가 어렵고, UI 개발자들과의 협업을 방해합니다. 나중에 Java 코드와 HTML, JSP, JSTL, javascript 등이 섞여있는 JSP 파일은 정말 지옥같이 느껴지게 됩니다.

참고로 Mustache 수준의 Logicless는 사실 사용하기 어렵습니다. 문법이 장황한 Java 특성상 컨트롤러의 코드가 지나치게 길어집니다. 그에 반해 동적 언어 계열에서는 컨트롤러에 부담이 가더라도 코드 줄수가 훨씬 짧기에 logicless로 하더라도 컨트롤러의 코딩 부담이 훨씬 줄어드는 편이 될 겁니다.

어쨌든 Java에서는 완전 Logicless는 어렵더라도 View에 불필요한 로직이 들어가는 것을 최대한 피하는게 좋으며, JSTL의 로직은 보편적인 View를 처리하기에 충분하고도 남아돕니다.

현재 저희 회사에서는 JSP도 버리고, Handlebars라는 뭐랄까 반정도 logicless 인 템플릿 프레임워크에 javascript도 모두다 파일로 빼버려서 사실상 HTML 외에는 거의 안보이는 HTML 템플릿을 사용하고 있습니다.
개인적으로는 jade도 좋아합니다만 초반에 UI 개발자들이 적응하기 힘들어합니다.


2014년 7월 3일 오후 4:15, YongHyeok Lee <unlogi...@gmail.com>님이 작성:
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/8BE1634E-CBBA-4A22-AEDE-8C3EE30748C7%40gmail.com을(를) 방문하세요.

더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.



--
* 까먹지말자! http://kwon37xi.egloos.com

NoviceRambo초보람보

unread,
Jul 3, 2014, 8:55:48 PM7/3/14
to ks...@googlegroups.com


2014년 7월 3일 오후 11:20, KwonNam Son <kwon...@gmail.com>님이 작성:

박성철

unread,
Jul 6, 2014, 10:03:47 PM7/6/14
to ks...@googlegroups.com
근본주의의 산물 Mustache를 거론하시다니! 역시 손권남님이에요. ㅎㅎ
View에 로직이 들어가는 건 빠지기 쉬운 유혹이지만 정말 웹 개발에 통달하기까지는 절대하면 안되는 원칙으로 삼는 편이 좋다고 생각합니다.

2014. 7. 3. 오후 11:20, KwonNam Son 쓴 글:
View에서 로직, 특히 Java 코드는 사용하지 마세요.
JSP에서 Java Code는 안 보는게 좋습니다. 그리고 충분히 그게 가능하고요(저는 JSP에서 Java code 안쓴지 8년쯤 됐습니다)
최근 추세는 JSP의 로직도 너무 많다며 Mustache 같은 아예 로직이 없는 (logicless, 제어문이 없음) Template framework까지 나오는 상태입니다.

View의 로직은 최소한으로 하시고 가능하면 JSTL로 처리가 다 될 수 있도록 컨트롤러 단에서 데이터를 만들어 내려주는 것이 좋습니다.

Java Code는 Unit Test를 만들 수 있지만, View에 들어간 로직은 테스트하기가 어렵고, UI 개발자들과의 협업을 방해합니다. 나중에 Java 코드와 HTML, JSP, JSTL, javascript 등이 섞여있는 JSP 파일은 정말 지옥같이 느껴지게 됩니다.

참고로 Mustache 수준의 Logicless는 사실 사용하기 어렵습니다. 문법이 장황한 Java 특성상 컨트롤러의 코드가 지나치게 길어집니다. 그에 반해 동적 언어 계열에서는 컨트롤러에 부담이 가더라도 코드 줄수가 훨씬 짧기에 logicless로 하더라도 컨트롤러의 코딩 부담이 훨씬 줄어드는 편이 될 겁니다.

어쨌든 Java에서는 완전 Logicless는 어렵더라도 View에 불필요한 로직이 들어가는 것을 최대한 피하는게 좋으며, JSTL의 로직은 보편적인 View를 처리하기에 충분하고도 남아돕니다.

현재 저희 회사에서는 JSP도 버리고, Handlebars라는 뭐랄까 반정도 logicless 인 템플릿 프레임워크에 javascript도 모두다 파일로 빼버려서 사실상 HTML 외에는 거의 안보이는 HTML 템플릿을 사용하고 있습니다.
개인적으로는 jade도 좋아합니다만 초반에 UI 개발자들이 적응하기 힘들어합니다.


2014년 7월 3일 오후 4:15, YongHyeok Lee <unlogi...@gmail.com>님 이 작성:
선택이 아닐런지...
상황상황 맞춰서...

나의 iPhone에서 보냄

2014. 7. 3. 16:06 이현호 <rune...@gmail.com> 작성:

화면에서는 JSTL 이나 Spring tag 혹은 custom tag 를 사용하고 스크립틀릿은 쓰지 않습니다.

스크립틀릿을 쓴다는건 로직이 포함된다는 의미라 VIEW 라고 할 수 없죠

오래된 사이트는 유지보수 하면서 JAVA 코딩을 안할려고 화면에 로직이 들어가있는 상황은 간혹 보이죠..

모델에서 처리를 다하고 화면은 단지 보여주기만 하는게 잘 쓰는거라고 생각합니다..ㅎㅎ


2014년 7월 3일 오후 3:11, Pyohwan Jang <phjan...@gmail.com>님 이 작성:

여기 기웃 저기 기웃 소스코드를 살펴보면, jsp 에서 java 코드를 쓰는경우를 많이 봤습니다.

<%
 Sitrng temp = ...
...
%>


저는 여태 서비스에서 작업을 해주고 이것을 Map에 담아 컨트롤러에서 View로 넘겨줬는데요.

그냥 jsp 에서 자바를 작성해버리면 이것이 MVC 형태에 부합하는건가요?

어떻게 써야 잘쓰는것인지.. ㅎㅎ
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/e2060126-9688-42d8-87dd-7ff8bb641a17%40googlegroups.com을 (를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을 (를) 방문하세요.

--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/CAF2Agw69OVsCLHGPx9dJTbu57JSp8dUc-tEQ591_ss6cH1Y9JA%40mail.gmail.com을 (를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을 (를) 방문하세요.
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/8BE1634E-CBBA-4A22-AEDE-8C3EE30748C7%40gmail.com을 (를) 방문하세요.

더 많은 옵션을 보려면 https://groups.google.com/d/optout을 (를) 방문하세요.



--
* 까먹지말자! http://kwon37xi.egloos.com
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/CAKY6xDwsYvDq_WaqY4h%3D1R-u-XfkW8QcjeYODKhQubvzUsmR4A%40mail.gmail.com을 (를) 방문하세요.

Chi Seok Song

unread,
Jul 7, 2014, 1:29:28 AM7/7/14
to ks...@googlegroups.com
JSTL로 제어하는 부분쯤은 기본 JSP 형태로 씁니다만..(개인적으로 JSTL 좋아하지 않습니다..)
중요 로직등은.. 안쓰는게 좋겠죠..



2014년 7월 7일 오전 11:03, 박성철 <gyu...@gmail.com>님이 작성:
http://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/53B9FFFD.3040809%40gmail.com을(를) 방문하세요.

Lee Jin

unread,
Jul 7, 2014, 4:33:52 AM7/7/14
to ks...@googlegroups.com
MVC 모델 방법론에 입각할경우 View 자체에 비지니스로직이 들어가는건 방법론에 맞지 않다라는 의미로

사용하지 말라고 하는 것이 일반적일 듯 합니다.

스클립틀릿을 쓰지 말아라는 아니고.. 비지니스 로직을 넣지 말아라 인거죠..

완벽하게 View에 값만 전송하기는 구조상 어려운 부분이 있으므로.. 화면제어들에는 사용하는 것이 일반적입니다.

하지만 열악한 개발환경등으로 인해 많은 서블릿 또는 프레임웍을 사용하는 시스템에 무분별하게 JSP에도 비지니스 로직이 들어

가 있는 경우는 많으므로.. (심지어 자바와 JSP에 이중, 혼재되는 경우까지) 분석난이도를 높이는 결과를 초래하기도 하죠

R&D가 아닌 일반 SI나 SM 개발자라면 시스템 환경에 따라 내 목숨에 영향을 주지 않는 범위에서 디자인패턴이라던가 방법론에 입각한..정도를 걸으면 되지 않을까 싶습니다. ^^


2014년 7월 7일 오후 2:29, Chi Seok Song <misob...@gmail.com>님이 작성:
Reply all
Reply to author
Forward
0 new messages