2014. 11. 13. 16:11

If I start a Java VM with the -XX:+CMSPermGenSweepingEnabled flag set,

 the following message is printed:

 

Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future

 

'Weblogic' 카테고리의 다른 글

weblogic console 페이지 branding 변경  (0) 2014.10.21
jdk server, client option  (0) 2014.10.08
DMS disabling (Not confirmed)  (0) 2014.10.07
apache http server benchmarking tool  (0) 2014.10.02
jms queue Import && Export  (0) 2014.09.29
Posted by 아도니우스
2014. 11. 4. 22:18

 OpenLdap install in Windows

1. 설치 및 구동

http://sourceforge.net/projects/openldapwindows/ 에서 바이너리를 받아서 위자드를 이용하여 설치

${OPENLDAP 설치 디렉토리}/etc/openldap/sldpd.conf 파일에서 root 비밀번호를 다음과 같이 수정

 

#######################################################################

# BDB database definitions

#######################################################################

 

database            bdb

suffix                  "dc=my-domain,dc=com"

rootdn                 "cn=Manager,dc=my-domain,dc=com"

# Cleartext passwords, especially for the rootdn, should

# be avoid.  See slappasswd(8) and slapd.conf(5) for details.

# Use of strong authentication encouraged.

rootpw                asdf1234

# The database directory MUST exist prior to running slapd AND

# should only be accessible by the slapd and slap tools.

# Mode 700 recommended.

directory       ../var/openldap-data

# Indices to maintain

 

C:\dev\solutions\openldap\libexec\StartLDAP.cmd 를 실행

 

2. Sample 데이타 로딩하기

테스트를 위해서 샘플 그룹과, 사용자들을 생성해보자. 샘플 데이타는

${OPENLDAP 설치 디렉토리}\etc\ldif에 있다.

${OPENLDAP 설치 디렉토리}\bin 디렉토리에서 다음과 같은 명령들을 실행한다.

ldapadd.exe -v -x -D "cn=Manager,dc=my-domain,dc=com" -f ..\etc\ldif\base.ldif -W

ldapadd.exe -v -x -D "cn=Manager,dc=my-domain,dc=com" -f ..\etc\ldif\users.ldif -W

 

※ 패스워드를 물어보는데, 패스워드는 앞에 slpd.conf에서 입력한 패스워드를 사용한다.

 

3. 클라이언트를 이용해서 연결하기

http://www.ldapadministrator.com/ 에서 ldap administrator라는 툴을 다운 받는다. (30일 무료 사용 가능)

File > New > New Profile을 선택하여, 새로운 서버를 등록한다.

Step 1. Profile명을 등록한다.

Step 2. Host 주소를 등록한다. Local 에 깔았다면, Host localhost, Port Default 389를 지정한다. 


 

Step 3. 다음으로 log in id/password를 넣는데, 앞에 slapd.conf에서 지정한 id,passwd "Principal Password" 필드에 다음과 같이 넣는다.


 

모든 작업이 다 끝났으면 아래와 같이 LDAP에 접속해서 내용을 볼 수 있다.




 

2013.5.18 추가 - LDAP에 대한 설명과 Open LDAP에 대한 설명이 잘 나온 글 

http://w.nya.kr/lib/exe/fetch.php?media=%EB%8B%A8%EC%96%B4:ldap:ldap.doc

Posted by 아도니우스
2014. 11. 1. 00:03
1. DB연결: JDBC 방식
2. 빈 객체 사용하지 않음
3. jstl 사용하지 않음
4. DB: oracle
5. 쿼리문 
create table member2(
idx number not null primary key,
id varchar2(20),
pw varchar2(16),
name varchar2(20),
age varchar2(3),
gender varchar2(2));

create sequence seq;

6. 폴더 구조
src
com.utill
  -DBConn.java

WebContent
  -loginForm.jsp
  -loginProcess.jsp
  -registForm.jsp
  -regist.jsp
  -main.jsp

DBConn.java
데이터 베이스 연결

package com.utill;

import java.sql.Connection;
import java.sql.DriverManager;

public class DBConn {
public static Connection conn = null;//커넥션 객체 생성

//데이터베이스 연결 메서드
public static Connection getConnection(){
  String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
  String id="scott";
  String pw="tiger";
  String driver="oracle.jdbc.driver.OracleDriver";
  
  try {
  Class.forName(driver);
  conn=DriverManager.getConnection(url,id,pw);
} catch (Exception e) {
System.out.println("접속 실패: "+e.toString());
}
return conn;
}//연결 메서드 종료
//데이터베이스 연결 종료 메서드
public static void dbClose(){
if(conn==null){
return;
}
try {
if(conn!=null){
conn.close();
}
} catch (Exception e) {
System.out.println("데이터 비정상 종료"+e.toString());
}
conn=null;
}
}//ClassEND

loginForm.jsp
로그인 페이지

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="loginProcess.jsp" method="post">
<center>
<table border="1">
<tr>
<td>아이디</td>
<td><input name="id" type="text"/></td>
</tr>
<tr>
<td>비밀번호</td>
<td><input name="pw" type="password"/></td>
</tr>
<tr>
<td><input type="submit" value="login"/></td>
<td><a href="registForm.jsp"><input name="regist" type="button" value="회원가입"/></a></td>
</tr>
</table>
</center>
</form>
</body>
</html>

loginProcess.jsp
로그인 과정을 담당

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="com.utill.DBConn"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
<%
request.setCharacterEncoding("EUC-KR"); //한글깨짐

//로그인 페이지로 부터 입력값을 받아 온다.
String id = request.getParameter("id");
String pw = request.getParameter("pw");

Connection conn = DBConn.getConnection();//데이터베이스 연결
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";

try{
sql="select * from member2 where id=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, id);
rs=pstmt.executeQuery();

if(rs.next()){
if(pw.equals(rs.getString("pw")) && id.equals(rs.getString("id"))){
session.setAttribute("id",id);//세션에 아이디 값을 저장
out.println("<script>");
out.println("location.href='main.jsp'");
out.println("</script>");
}
}
out.println("<script>");
out.println("location.href='loginForm.jsp'");
out.println("</script>");

 DBConn.dbClose();//데이터 베이스 닫기
}catch(Exception e){
e.printStackTrace();
}

%>

registForm.jsp
회원가입 폼

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="regist.jsp" method="post">
<center>
<table border="1">
<tr>
<td>아이디:</td>
<td><input name="id" type="text"/></td>
</tr>
<tr>
<td>비밀번호:</td>
<td><input name="pw" type="text"/></td>
</tr>
<tr>
<td>이름:</td>
<td><input name="name" type="text"/></td>
</tr>
<tr>
<td>나이:</td>
<td><input name="age" type="text"/></td>
</tr>
<tr>
<td>성별:</td>
<td>
<input name="gender" type="radio" value="남" checked/>남자
<input name="gender" type="radio" value="여"/>여자
</td>
</tr>
<tr>
<td><input name="regist" type="submit" value="등록"/></td>
<td><input type="reset" value="다시입력"/></td>
</tr>
</table>
</center>
</form>
</body>
</html>

regist.jsp
회원 가입 과정을 담당

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="com.utill.DBConn"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>

<%
request.setCharacterEncoding("EUC-KR"); //한글깨짐
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String name = request.getParameter("name");
String age = request.getParameter("age");
String gender = request.getParameter("gender");
Connection conn = DBConn.getConnection();//데이터베이스 연결
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
try{
sql="insert into member2(idx,id,pw,name,age,gender) values(seq.nextval,?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, pw);
pstmt.setString(3, name);
pstmt.setString(4, age);
pstmt.setString(5, gender);
int result = pstmt.executeUpdate();
DBConn.dbClose();
if(result!=0){
response.sendRedirect("loginForm.jsp");
}else{
response.sendRedirect("registForm.jsp");
}
}catch(Exception e){
e.printStackTrace();
}
%>

main.jsp
로그인 후 보여줄 페이지

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

<%
//세션에 아이디 값이 있으면(로그인 성공) 해당값을(형 변환 후) 전달 해 준다.
String id = null;
if(session.getAttribute("id")!=null){//if문으로써 로그인 상태와 비로그인 상태를 구분 할 수 있다.
id=(String)session.getAttribute("id");
}else{
out.println("<script>");
out.println("location.href='loginForm.jsp'");
out.println("</script>");
}
%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h3>로그인이 된 메인 페이지</h3>
안녕하세요<%=id %>님, 여기는 일반 회원 메뉴 입니다.<br/>
<%
if(id.equals("admin")){
%>
<a href="http://blog.naver.com/seilius" target="_blank"><b>관리자 메뉴</b></a>
<%} %>
</body>


'Java' 카테고리의 다른 글

“top threads” plugin for JConsole  (0) 2014.12.16
Hotspot JVM GC 방식  (0) 2014.12.09
Path 클래스 사용하기  (0) 2014.10.01
singleton 패턴  (0) 2014.10.01
Heap 영역과 Stack 영역  (0) 2014.09.04
Posted by 아도니우스