반응형

이번 포스팅은 파일 생성 시 발생한 오류에 대하여 알아보도록 하겠습니다.



<Error>



  Invalid file name: must contain only [a-z0-9_.] 오류

 



<Solution>



  파일명 영어소문자 나 0~9까지의 숫자만 허용하는데 그 이외의 문자가 들어간 경우이므로 허용하는 문자를 제외하고 파일명을 수정



반응형
반응형

InformationInput .java

 

package com.androidhuman.IntentTest;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class InformationInput extends Activity {

 

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final Button requestInfo = (Button)findViewById(R.id.requestInfo);

 

// 버튼을 클릭할 경우

requestInfo.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent(InformationInput.this,InformationProc.class);

 

// Sub_Activity 호출

startActivityForResult(intent, 1); 

}

});

}

 

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data){

super.onActivityResult(requestCode, resultCode, data);

TextView name_view = (TextView)findViewById(R.id.name_view);

TextView digit_view = (TextView)findViewById(R.id.digit_view);

 

// 액티비티가 정상적으로 종료되었을 경우

if(resultCode==RESULT_OK) {

// InformationInput에서 호출한 경우에만 처리합니다.

if(requestCode==1) {

// 받아온 이름과 전화번호를 InformationInput 액티비티에 표시name_view.setText(data.getStringExtra("data_name"));

digit_view.setText(data.getStringExtra("data_digit"));

}

}

}

}

 

InformationProc .java

 

package com.androidhuman.IntentTest;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

public class InformationProc extends Activity {

 

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.informationproc);

Button input_info = (Button)findViewById(R.id.inputinfo);

input_info.setOnClickListener(new OnClickListener(){

 

//버튼을 클릭하면

public void onClick(View v) { 

// 이 액티비티를 시작하게 한 인텐트를 호출

Intent intent = getIntent(); 

EditText name_input = (EditText)findViewById(R.id.name_input);

EditText digit_input = (EditText)findViewById(R.id.digit_input);

intent.putExtra("data_name",name_input.getText().toString());

intent.putExtra("data_digit", digit_input.getText().toString());

 

// 추가 정보를 넣은 후 다시 인텐트를 반환합니다.

setResult(RESULT_OK,intent);

// 액티비티 종료 

finish(); 

}

});

}

}

 

참고 : http://androidhuman.tistory.com/125

반응형
반응형

이번 포스팅은 JSP 화면에 보이는 데이터를 엑셀 파일로 저장하는 방법에 대하여 알아보도록 하겠습니다.

JSP 화면에서 검색 조건을 제목으로 하여 검색하여 찾은 데이터를 리스트 형태로 조회하는 화면이 있을 때에 <EXCEL 파일 저장>이라는 버튼을 클릭하면 조건으로 들어가는 제목을 파라미터로 갖고 엑셀파일을 보여줄 수 있는 pop-up대용의 JSP화면으로 보내줍니다.

#. list.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<html>
.....

function toXLS() {
var address = "/jsp/excel.jsp?title=타이틀&file_name=리스트.xls";
location.href = address;
}
.....
<body>
.....
<a href="javascript:toXLS()"><strong>EXCEL 파일저장</strong></a>
.....
</body>
</html>

아래는 중요한 excel.jsp인데 JSP화면의 설정 코드를 눈여겨보아야 합니다.

#. excel.jsp
<%@ page contentType="application/vnd.ms-excel;charset=euc-kr" %>
===> contentType를 반드시 위와 같이 정의해주어야 원하는 결과를 얻을 수 있습니다.
<%
String file_name = request.getParameter("title");
response.setHeader("Content-Disposition", "attachment; filename=""+file_name+"";");
===> 저장할 시에 기본적으로 설정되는 파일명을 지정하고(여기서는 order_list.xls)
반드시 attachment로 설정을 해야 파일 열기, 저장 중에 선택하는 메시지가 뜹니다.
response.setHeader("Content-Description", "JSP Generated Data");
===> 정확히 어떤 정의였는지는 자세히 기억이 나지 않지만 필수적으로 설정해야 합니다.
String title = request.getParameter("title");
... ( title파라미터를 이용하여 DB에서 해당 목록을 ResultSet으로 받아온다. )
%>

<html>
<head>
<title>엑셀파일변환</title>
</head>
<body bgcolor=white>
<table border=1>
<tr bgcolor="#CACACA">
<th>지시일자</th>
<th>완료일</th>
<th>담당자</th>
<th>현 황</th>
<th>제 목</th>
</tr>
<%
while(rs.next()) {
%>
<tr>
<td><%=rs.getString("ord_date")%></td>
<td><%=rs.getString("cmp_date")%></td>
<td><%=rs.getString("charge_name")%></td>
<td><%=rs.getString("state_name")%></td>
<td><%=rs.getString("subject")%></td>
</tr>
<%
}
%>
</table>
</body>
</html>

이렇게 화면이 만들어지고 <EXCEL 파일 저장>을 클릭하게 되면 order_list.xls (지정한 파일명)를 현재 위치에서 열 것인지 저장할 것인지를 묻는 창이 뜹니다.

여기에서 저장을 하게 되면 이름을 바꿔서 저장이 가능하고, 열기를 선택하면 excel.jsp에 구성된 내용들이 현재 화면에 엑셀 형식으로 보이게 됩니다.

처음 참고자료를 뒤졌을 때 excel.jsp의 attachment 부분이 다른 방식으로 지정되면 곧바로 엑셀 파일 열기가 실행되어 난감했던 기억이 납니다.

반드시 attachment을 해야만 저장을 묻는다는 것을 기억해야 합니다.


참고 : http://scblood.egloos.com/2542763

반응형

'Development > Web' 카테고리의 다른 글

[Web] 뷰 컴포넌트 통신  (0) 2022.09.19
[Web] 뷰 컴포넌트  (0) 2022.09.18
[Web] 뷰 인스턴스 라이프 사이클  (0) 2022.09.18
[Web] 뷰 인스턴스  (0) 2022.09.18
[Web] JSP / Servlet/ Java 현재 경로 알아내기  (0) 2020.04.08
반응형

이번 포스팅은 JSP, Servlet, Java에서 현재 경로를 확인할 수 있는 방법에 대하여 알아보겠습니다.

#. JSP (Java Script Page) 의 경우
1. URL : <%= request.getRequestURL() %> </BR>
2. URI : <%= request.getRequestURI() %> </BR>
3. 전달 파라미터 : <%=request.getQueryString()%> </BR>
4. 전달 파라미터 Map으로 return : <%=reqeust.getParameterMap()%>

#. Servlet
절대 경로
// 웹서버의 Document Root
getServletContext().getRealPath("/"));
ex) getServletContext().getRealPath("/WEB-INF/web.xml"));

#. Java
절대 경로
// 현재 자신의 절대 경로
this.getClass().getResource("").getPath();
// classes 폴더의 최상위 경로
this.getClass().getResource("/").getPath();
// classes 폴더에서부터 시작하여 해당 파일까지의 절대 경로
this.getClass().getResource("/com/test/config/config.properties").getPath();

반응형

'Development > Web' 카테고리의 다른 글

[Web] 뷰 컴포넌트 통신  (0) 2022.09.19
[Web] 뷰 컴포넌트  (0) 2022.09.18
[Web] 뷰 인스턴스 라이프 사이클  (0) 2022.09.18
[Web] 뷰 인스턴스  (0) 2022.09.18
[Web] JSP에서 엑셀 파일로 저장하기  (0) 2020.04.08
반응형

이번 포스팅은 ORACLE DB 사용자 계정 패스워드 없애는 방법에 대하여 알아보도록 하겠습니다.

1. Oracle 사용자를 생성하면 기본적으로 패스워드 사용기간이 180일로 설정

2. 180 + 7일(경고 기간)이 지나면 계정이 잠김

3. 패스워드 사용기간 제한을 없애고 싶다면 아래와 같이 실행

SQL> SELECT * FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT';

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

반응형

'Development > DB' 카테고리의 다른 글

[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08
[DB] DB Sequence 생성과 삭제  (0) 2020.04.08
[DB] ROWNUM과 ROWID  (0) 2020.04.08
[DB] ORACLE DB SYSTEM, SYS 암호 변경  (0) 2020.04.08
반응형

이번 포스팅은 ORACLE DB의 SYSTEM 계정과 SYS 계정의 암호 변경하는 방법에 대하여 알아보도록 하겠습니다.

C:\> sqlplus "/as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on 일 1월 19 13:05:13 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

다음에 접속됨:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> SHOW USER

USER은 "SYS"입니다.

 

SQL> ALTER USER SYS IDENTIFIED BY 원하는 암호;

사용자가 변경되었습니다.

 

SQL> ALTER USER SYSTEM IDENTIFIED BY 원하는 암호;

사용자가 변경되었습니다.

 

SQL> SELECT USERNAME, PASSWORD FROM DBA_USERS;

 

SQL> SHOW USER USER은 "SYS"입니다.

SQL> ALTER USER SYS IDENTIFIED BY 원하는 암호; 사용자가 변경되었습니다.

SQL> ALTER USER SYSTEM IDENTIFIED BY 원하는 암호; 

반응형

'Development > DB' 카테고리의 다른 글

[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08
[DB] DB Sequence 생성과 삭제  (0) 2020.04.08
[DB] ROWNUM과 ROWID  (0) 2020.04.08
[DB] ORACLE DB 사용자 계정 패스워드 없애는 방법  (0) 2020.04.08

+ Recent posts