<!-- 세션 -->


<!-- 로그인 안된 상태에서 uri을 통한 접근 방지 -->

<% String name=(String)session.getAttribute("username"); 

    String auth=(String)session.getAttribute("right"); 

    boolean sessionchk = name == null ? false : true;

    if(sessionchk == false){     System.out.println("baseurl :"+baseurl);

    out.println("<script>alert('로그인이 필요합니다.');");

    out.println("location.replace('"+baseurl+"/main.jsp');</script>");

    return;

    }

    %>


반응형

1) http 요청 파라미터 값을 얻기 위해

<input type="text" name="test_id"> 이면, 

String  datas = request.getParameter("test_id"); 이면 test_id에 valuse 값을 가져올 수 있다. 


2) 다른곳으로 정보를 넘겨줄때 request 개채의 속성(attribute)을 사용

서블릿에서 reuqest.setAttribute("name",strname);을 속성으로 집어 넣고

jsp에서 <% String strname = (String)request.getAttribute("name"; %> 하면 값을 출력할 수 있다. 



반응형


웹 상에서, DB에서 가져오는 정보들을 특정 개수만큼 보여주고 싶을 때 하는 작업.


1. 디비연결

2. 요청페이지 게시물수, 그룹크기들 정한다.

3. 총 게시물 구한다.

4. 페이지 네비게이션에 표시될 인덱싱 번호들(이미지) 맞게 설정


userlist.jsp 참고

반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

세션 Session  (0) 2012.05.01
request.getParameter  (0) 2012.04.28
모니터링 jconsole  (0) 2012.03.20
1. 스프링 MVC Hello World 출력하기  (0) 2012.01.18
onClick 이벤트 href  (0) 2012.01.12

jconsole 위치(jconsole.exe)
C:\Program Files\Java\jdk1.7.0\bin
 
실행 기본화면



+) Tomcat 연동시
서버를 멈추고, tomcat conf실행 후 Java단에서 블럭부분 추, 다시 서버 Start
=> jconsole에서 다시 connection 시도 하면, 자동으로 검색이 됨.



모니터링 화면
 


각각의 그래프들의 데이터는 cvs 파일로 저장 가능. 


 
반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

request.getParameter  (0) 2012.04.28
페이지 네비게이션  (0) 2012.04.06
1. 스프링 MVC Hello World 출력하기  (0) 2012.01.18
onClick 이벤트 href  (0) 2012.01.12
노프레임에서 사이드바  (0) 2011.12.26
 * 스프링 MVC를 이용하여 웹 어플리케이션을 개발하는 과정

1. 클라이언트의 요청을 받을 DispatcherServlet을 web.xml 파일에 설정한다.
2. 클라이언트의 요청을 처리할 컨트롤러를 작성한다.
3. ViewResolver를 설정한다. ViewResolver는 컨트롤러가 전달한 값을 이용해서 응답 화면을 생성할 뷰를 결정한다.
4. JSP나 Velocity 등을 이용하여 뷰 영역의 코드를 작성한다.
5. 실행 


단계1. DispatcherServlet 설정 

web.xml
----------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

  <display-name>tutorialSpring</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

    </welcome-file-list>

  

  <servlet>

<servlet-name>dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>


<servlet-mapping>

<servlet-name>dispatcher</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

 <!-- end -->   

</web-app>


*.do로 들어오는 클라이언트의 요청을 DispatcherServlet이 처리하도록 설정한다. 
DispatcherServlet은 WEB-INF/ 디렉토리에 위치한 [서블릿이름]-servlet.xml 파일을 스프링 설정 파일로 사용한다.
**스프링 구성요소인 Controller(.java). ViewResolver(-.xml), View(.jsp)

단계2. 컨트롤러 구현 및 설정 추가 

/tutorialSpring/src/springapp/web/HelloController.java
-----------------------------------------------------------------------------------------------------------------
package springapp.web;


import java.util.Calendar;


import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;


@Controller

public class HelloController {


@RequestMapping("/hello.do")

public ModelAndView hello() {

ModelAndView mav = new ModelAndView();

mav.setViewName("hello");

mav.addObject("greeting", getGreeting());

return mav;

}


private String getGreeting() {

int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);

if (hour >= 6 && hour <= 10) {

return "좋은 아침입니다.";

} else if (hour >= 12 && hour <= 15) {

return "점심 식사는 하셨나요?";

} else if (hour >= 18 && hour <= 22) {

return "좋은 밤 되세요";

}

return "안녕하세요";
}

}


단계3. 설정파일에 ViewResolver 설정 추가 

dispatcher-servlet.xml
----------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>


<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

       http://www.springframework.org/schema/context

       http://www.springframework.org/schema/context/spring-context-3.0.xsd">


<bean id="helloController" class="springapp.web.HelloController" />


<!--  뷰를 설정하는 방법(jsp의 위치들을 설정해주는 것) -->
 

<bean id="viewResolver"

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/view/" />

<property name="suffix" value=".jsp" />

</bean>

<!-- end -->

</beans>



단계4. 뷰코드 구현

hello.jsp
-----------------------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=EUC-KR"%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>인사</title>

</head>

<body>

인사말: <strong>${greeting}</strong>

</body>

</html>



단계5. 실행
















 
반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

페이지 네비게이션  (0) 2012.04.06
모니터링 jconsole  (0) 2012.03.20
onClick 이벤트 href  (0) 2012.01.12
노프레임에서 사이드바  (0) 2011.12.26
Posted content type isn't multipart/form-data  (0) 2011.11.24
특히 a(anchor) 태그와 함께 사용할 때, onClick 이벤트를 자주 사용하는데, 이 이유는 크게 세 가지가 있다. 
  1. 이동되는 경로(URL)을 사용자에게 숨기기 위해서
  2. form 방식으로 페이지를 이동하여, 새로운 페이지에 값을 넘겨주기 쉽게 하기 위해서

  3. 페이지를 이동하기 전에 자바스크립트 함수를 호출하여, 메시지를 보여주거나 입력값을 체크하기 위해서


결국, a 태그가 페이지를 이동하는 역할을 함에도 불구하고 onClick를 사용하는 이유는 위에서 설명했다. 그러면 a 태그의 href를 무시하고 onClick 이벤트가 참조하는 자바스크립트 함수를 호출하는 방법은 여러가지가 있다. 먼저 자주 사용되는 것부터 확인해보자.

 1. <a href="javascript:alert('naver');"> Naver </a>
 2. <a href="#" onClick="alert('daum');"> Daum </a>
 3. <a href="javascript:void(0);"  onClick="alert('nate');"> Nate </a>

1번은 href의 값에 URL 대신 javascript 함수를 호출하도록 하였다. 클릭하면 바로 경고창이 뜨게 된다. 이 방법은 브라우저 하단의 회색의 상태바에 javascript:alert('naver');가 보인다.
2번은 자바스크립트가 호출하는 함수를 숨기기 위해 #을 사용했다. 하지만 이것은 함수에서 페이지가 이동하지 않으면, 브라우저가 이동할 곳을 잃어버리고 페이지의 상단으로 이동해버린다는 단점이 있다.
3번은 이것을 해결하기 위해 자바스크립트에서 Null과 마찬가지인 void(0)을 사용했다. 처음에는 이것의 문제를 몰랐는데, Internet Explorer 6 을 사용하는 사용자가 페이지가 이동하지 않는다고 이야기하여 이것의 문제를 알게 되었다. IE 7 이나 FireFox에서는 이상없이 처리되었다.

이 문제를 해결하기 위해 여러 곳을 찾아보다가 다음과 같은 해결책을 찾게 되었다.

 4. <a href="#" onClick="alert('dooji'); return false;"> dooji.com </a>
 5. <a href="javascript:void(0);"  onClick="alert('tistory'); return false;"> dooji.tistory.com </a>

바로 return false; 를 호출하는 함수 뒤에 추가하는 것이다. 이것은 href에 #을 사용해도 페이지 위로 이동하지 않는다. href의 값은 자신이 좋아하는 취향에 따라 적용하면 될 것 같다. 왜 이런 현상이 일어나는 지에 대해서는 좀 더 알아본 후에 적도록 하겠다.

http://dooji.tistory.com/133  
반응형

<table>을 사용하여 각 프레임들을 잡아주고, 
사이드바 불러올 부분에

<jsp:include page="sidebar.jsp" flush="true"></jsp:include> 

해주면 사이드바 오케이~

단, 각 불러올 페이지의 경로설정에 주의!!! 
(상대경로를 절대경로화 하여 사용한다!)

 sidebar.jsp 참고


반응형
<table>
<caption></caption>
<tbody>
<form id="upload" enctype="multipart/form-data" method="post">
</tbody>

수정은 : 웹접근성 지침서에 보니깐.  thead, tbody, caption, summary 안에 form을 넣으면 안된다고 되어 있다._-;;

<form id="upload" ~
<table>~


http://dakccom.tistory.com/69 
반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

onClick 이벤트 href  (0) 2012.01.12
노프레임에서 사이드바  (0) 2011.12.26
form enctype="multipart/form-data"  (0) 2011.11.23
The requested resource ()is not available.  (0) 2011.11.18
OPTION 전화번호  (0) 2011.11.16
일반적으로 form 을 submit 하게되면, form안의 element들이 id 나 name으로 submit된다.

submit을 받아 처리하는 action에 정의된 handler들에서는 request.getParameter( "xxx" ); 를 통해 값을 받게 되는데...

파일을 서버에 저장하기 위해서  <form enctype="multipart/form-data" ... 을 사용하게 된다.

하지만, 이때는...
submit을 받아 처리하는 action에 정의된 handler들에서는 request.getParameter( "xxx" ); 를 통해 값을 받을 수 없고,
직접 요청해야 한다.  com.oreilly.servlet.MultipartRequest
 
if( request.getContentType() != null && request.getContentType().indexOf("multipart/form-data") > -1 ) {
    String saveDirectory = config.getServletContext().getRealPath( uploadDir + "/education" );
    File dir = new File( saveDirectory );
    if( !dir.exists() ) dir.mkdir();

    int maxSize = 10 * 1024 * 1024;
    DefaultFileRenamePolicy dfrp = new DefaultFileRenamePolicy();

    MultipartRequest multi = new MultipartRequest( request, saveDirectory, maxSize, "euc-kr", dfrp );
    multi.getParameter( "xxx" );
}

MultipartRequest 를 사용하면
MultipartRequest 를 new 하는 순간에...
<input type="file" ... 로 정의 되어있는 파일들이 saveDirectory로 지정된 곳에 upload 된다.

파일이름이 같은 경우를 위해서는,
DefaultFileRenamePolicy 를 써주면 좋다.  (안써도 무방하다)
저장되는 파일명은 aaa.txt 가 2개라면...
두번째 파일은 aaa(1).txt로 저장된다.

저장되는 파일명과
보여줄 파일명이 다를테니...
DB에 저장할 때는...2개 다 저장하는 게 좋을 것 같다.

아~~~주 상세한 설명은 아래를  참고하시라~
"MultipartRequest를 이용하여 업로드구현하기":http://aboutjsp.com/lec/multipart.jsp

http://lilymate.tistory.com/trackback/192
반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

노프레임에서 사이드바  (0) 2011.12.26
Posted content type isn't multipart/form-data  (0) 2011.11.24
The requested resource ()is not available.  (0) 2011.11.18
OPTION 전화번호  (0) 2011.11.16
java  (0) 2011.11.15
The requested resource (/com.din.mgs.dh.web/useradmin/User_list.jsp) is not available.


User_Edit.jsp 
<form name=updateUserform method=post action=User_control.jsp>
이름 다시 그대로 복사해서 붙여넣기!
단순 이클립스 연결문제같앙.. 
반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

노프레임에서 사이드바  (0) 2011.12.26
Posted content type isn't multipart/form-data  (0) 2011.11.24
form enctype="multipart/form-data"  (0) 2011.11.23
OPTION 전화번호  (0) 2011.11.16
java  (0) 2011.11.15
<option value="02" >02 </option>
<option value="031">031</option>
<option value="032">032</option>
<option value="033">033</option>
<option value="041">041</option>
<option value="042">042</option>
<option value="043">043</option>
<option value="051">051</option>
<option value="052">052</option>
<option value="053">053</option>
<option value="054">054</option>
<option value="055">055</option>
<option value="061">061</option>
<option value="062">062</option>
<option value="063">063</option>
<option value="064">064</option>
<option value="064">070</option>       
반응형

'Backend > Java&Spring Framework' 카테고리의 다른 글

노프레임에서 사이드바  (0) 2011.12.26
Posted content type isn't multipart/form-data  (0) 2011.11.24
form enctype="multipart/form-data"  (0) 2011.11.23
The requested resource ()is not available.  (0) 2011.11.18
java  (0) 2011.11.15

import java.io.file;


throws Exception,
IOException 
반응형

+ Recent posts