앱스트랩트뷰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package org.yht.kdh;
 
import java.io.File;
 
import java.io.FileInputStream;
 
import java.io.OutputStream;
 
import java.util.Map;
 
 
 
import javax.servlet.http.HttpServletRequest;
 
import javax.servlet.http.HttpServletResponse;
 
 
 
import org.springframework.util.FileCopyUtils;
 
import org.springframework.web.servlet.view.AbstractView;
 
 
 
public class DownloadView extends AbstractView {
 
    
 
    public DownloadView() {
 
        setContentType("applicaiton/download;charset=utf-8");
 
    }
 
 
 
    @Override
 
    protected void renderMergedOutputModel(Map<String, Object> model,
 
            HttpServletRequest request, HttpServletResponse response) throws Exception {
 
         File file = (File) model.get("downloadFile");
 
            response.setContentType(getContentType());
 
            response.setContentLength((int)file.length());
 
             
 
            String fileName = java.net.URLEncoder.encode(file.getName(), "UTF-8");
 
             
 
            response.setHeader("Content-Disposition""attachment;filename=\""+fileName+"\";");
 
            response.setHeader("Content-Transfer-Encoding""binary");
 
             
 
            OutputStream out = response.getOutputStream();
 
            FileInputStream fis = null;
 
             
 
            try {
 
                fis = new FileInputStream(file);
 
                FileCopyUtils.copy(fis, out);
 
            } catch (Exception e) {
 
                e.printStackTrace();
 
            } finally {
 
                if (fis != null) { try { fis.close(); } catch (Exception e2) {}}
 
            }
 
            out.flush();
 
        
 
    }
 
}
cs


서블렛컨텍스트.xml
1
2
3
4
5
<beans:bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
            <beans:property name="order" value="0" />
    </beans:bean>
    
    <beans:bean id="download" class="org.yht.kdh.DownloadView" />
cs

컨트롤러
1
2
3
4
5
6
7
@RequestMapping("/download.do")
    public ModelAndView download(HttpServletRequest request)throws Exception{
        String temp=request.getSession().getServletContext().getRealPath("/resources");
        File down = new File(temp+"\\sample.txt");
        
        return new ModelAndView("download","downloadFile",down);
    }
cs









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

Jsch 원격SSH접속 커맨드 실행  (0) 2020.02.11
파일 전송중인지 체크  (0) 2019.10.24
Spring logback 설정  (0) 2018.10.10
Spring Iterator  (0) 2018.10.05
Spring 인터셉터 Intercepter  (0) 2018.10.05
1
2
3
4
5
6
7
8
9
10
11
12
pom.xml
<!-- 로그 백 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${logback.version}</version>
        </dependency>
cs



logback.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
 
    <configuration scan="true" scanPeriod="30 seconds">
 
    <property name="LOG_HOME" value="C:/DEV/logs" />
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{36} - %msg%n"/>
    
    <appender name="stdout-appender" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <appender name="yht-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/yht/yht.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_HOME}/yht/yht.log.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- keep 10 days' worth of history -->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <appender name="core-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/core/core.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_HOME}/core/core.log.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- keep 10 days' worth of history -->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
 
    <appender name="jdbc-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/jdbc/jdbc.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_HOME}/jdbc/jdbc.log.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- keep 10 days' worth of history -->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <appender name="ibatis-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/ibatis/ibatis.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_HOME}/ibatis/ibatis.log.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- keep 10 days' worth of history -->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <appender name="mapper-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/mapper/mapper.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_HOME}/mapper/mapper.log.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- keep 10 days' worth of history -->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <!-- log SQL (pre-execution) plus exceptions caused by SQL --> 
    <logger name="jdbc.sqlonly" level="OFF" />
    <!-- log SQL with timing information, post execution --> 
    <logger name="jdbc.sqltiming" level="OFF" />
    <!-- log all jdbc calls except ResultSet calls --> 
    <logger name="jdbc.audit" level="OFF" />
     <!-- log the jdbc ResultSet calls --> 
    <logger name="jdbc.resultset" level="OFF" />
    <!-- log connection open/close events and dump of all open connection numbers --> 
    <logger name="jdbc.connection" level="OFF" />
    <logger name="yht.framework" level="WARN" additivity="false">
         <appender-ref ref="stdout-appender"/>
         <appender-ref ref="yht-appender"/>
    </logger>
    
    <logger name="org.yht" level="DEBUG" additivity="false">
         <appender-ref ref="stdout-appender"/>
         <appender-ref ref="yht-appender"/>
    </logger>
    
    <logger name="org.springframework.jdbc.core.JdbcTemplate" level="DEBUG" additivity="false">
         <appender-ref ref="stdout-appender"/>
         <appender-ref ref="jdbc-appender"/>
    </logger>
    
    <logger name="org.springframework.jdbc.core.Statemensql" level="DEBUG" additivity="false">
         <appender-ref ref="stdout-appender"/>
         <appender-ref ref="mapper-appender"/>        
    </logger>
    
    <!-- turn OFF all logging (children can override) -->
    <root level="ERROR" additivity="false">
        <appender-ref ref="stdout-appender"/>
    </root>
</configuration>
cs


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

파일 전송중인지 체크  (0) 2019.10.24
스프링 파일 다운로드  (0) 2018.10.17
Spring Iterator  (0) 2018.10.05
Spring 인터셉터 Intercepter  (0) 2018.10.05
SHA256 암호화 키  (0) 2018.10.05

DEV/Spring&Java

Spring Iterator

2018. 10. 5. 17:18
1
2
3
4
5
//컬렉션의 특정 인덱스 삭제시 밀리면서 오류남
 
for(Iterator<T> it= 컬렉션객체.iterator();it.hasNext()){
      <T> item=it.next();
}
cs


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

스프링 파일 다운로드  (0) 2018.10.17
Spring logback 설정  (0) 2018.10.10
Spring 인터셉터 Intercepter  (0) 2018.10.05
SHA256 암호화 키  (0) 2018.10.05
Spring Jxls 엑셀다운로드  (0) 2018.10.05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//context.xml
<beans:bean id="loginCheckInterceptor" class="패키지.LoginCheckInterceptor"/>
    <interceptors>
        <interceptor>
            <mapping path="/**"/>
            <beans:ref bean="loginCheckInterceptor"/>            
        </interceptor>
    </interceptors>
 
//인터셉터.java
package 패키지.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class LoginCheckInterceptor extends HandlerInterceptorAdapter {
    protected static final Log logger = LogFactory.getLog(LoginCheckInterceptor.class);
    
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws java.lang.Exception{
        HttpSession session=request.getSession(true);
        
        if(session.getAttribute("SESS_USER")==null){
            response.sendRedirect("메인");
            return false;
        }
        
        return true;
    }
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws java.lang.Exception{
        
        super.postHandle(request, response, handler, modelAndView);
    }
    
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws java.lang.Exception{
        
        super.afterCompletion(request, response, handler, ex);
    }
    
}
 
cs


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

Spring logback 설정  (0) 2018.10.10
Spring Iterator  (0) 2018.10.05
SHA256 암호화 키  (0) 2018.10.05
Spring Jxls 엑셀다운로드  (0) 2018.10.05
Javascript에서 ajax 많은데이터 넘길때  (0) 2018.10.05