Monthly Archives: 3月 2017

「Spring開発」PropertyPlaceholderConfigurerでプロパティファイルを読み込むコード

1.PropertyPlaceholderConfigurerの設定
<bean id=”propertyConfigurer” class=”com.lija.changfapj.util.PropertyConfigurer”>
<property name=”ignoreUnresolvablePlaceholders” value=”true”/>
<property name=”ignoreResourceNotFound” value=”true”/>
<property name=”locations”>
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>

2.PropertyConfigurerクラスの定義
package com.lija.changfapj.util;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

import java.util.Properties;
public class PropertyConfigurer extends PropertyPlaceholderConfigurer {

private Properties props;
@Override
protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props)
throws BeansException {
super.processProperties(beanFactoryToProcess, props);
this.props = props;
}

public String getProperty(String key){
return this.props.getProperty(key);
}

public String getProperty(String key, String defaultValue) {
return this.props.getProperty(key, defaultValue);
}

public Object setProperty(String key, String value) {
return this.props.setProperty(key, value);
}
}

Beanクラスをインジェクション
@Autowired

private SampPropertyBean cftBean;

「jQuery入門」配列をpostパラメータで引き渡すサンプルコード

JSコード
$.ajax({
type: “POST”,
url:”modifyId.php”,
data:{ids : modifyIds},
traditional: true,
dataType:”json”,
success: function(data){
alert(data);
}
});

var modifyIds = new Array();

「Java開発」セッションの設定、クリアとcookieを削除するサンプルコード

1.sessionクリア
protected void clearSession() {
SessionMap sessionMap = (SessionMap) ActionContext.getContext()
.getSession();
try {
sessionMap.clear();
} catch (Exception e) {
//
}

HttpSession httpSession = this.getServletRequest().getSession();
try {
httpSession.invalidate();
} catch (Exception e) {
//
}
}

2.session設定(ログイン)
public String ctnLoginFunc() {
clearSession();
String cftUsername = this.getLoginUsername();
String cftPassword = this.getLoginPassword();
if (StringUtils.isBlank(cftUsername)) {
setMessage(“ユーザIDが必須”);
return INPUT;
} else if (StringUtils.isBlank(cftPassword)) {
setMessage(“パスワードが必須”);
return INPUT;
}
try {
setSessionAttribute(SESSION_ATTRIBUTE_KEY_USER,user);
setCookiesAttribute(COOKIES_ATTRIBUTE_KEY_EMPLOYEE_NO, cftUsername);
return “home”;
} catch (WebApplicationRuntimeException e) {
this.setMessage(e.getMessage());
}

return INPUT;
}
3.ログアウト
public String execute() {
try {
clearSession();
ReserverCookie reserverCookie = new ReserverCookie();
reserverCookie.removeCookie(this.getServletRequest(), getServletResponse());
} catch (Exception e) {

}
return “login”;
}

4.cookieを削除
public void removeCookie(HttpServletRequest request,
HttpServletResponse response) {
Cookie cookie = getCookie(request);
if (cookie != null) {
cookie = new Cookie(COOKIE_NAME, “”);
cookie.setMaxAge(0);
cookie.setValue(“”);
cookie.setPath(“/”);
cookie.setDomain(SAMPLE_COM);
response.addCookie(cookie);
}
}

「Java開発」ServletのError/Exceptionメッセージを処理するサンプル

Javaコード:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class ErrorHandler extends HttpServlet {

// GETリクエスト
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
Throwable throwable = (Throwable)
request.getAttribute(“javax.servlet.error.exception”);
Integer statusCode = (Integer)
request.getAttribute(“javax.servlet.error.status_code”);
String servletName = (String)
request.getAttribute(“javax.servlet.error.servlet_name”);
if (servletName == null){
servletName = “Unknown”;
}
String requestUri = (String)
request.getAttribute(“javax.servlet.error.request_uri”);
if (requestUri == null){
requestUri = “Unknown”;
}
// コンテンツタイプ
response.setContentType(“text/html;charset=UTF-8″);

PrintWriter out = response.getWriter();
String title = ” Error/Exception 情報”;

String docType = “<!DOCTYPE html>\n”;
out.println(docType +
“<html>\n” +
“<head><title>” + title + “</title></head>\n” +
“<body bgcolor=\”#f0f0f0\”>\n”);
out.println(“<h1>sample for request </h1>”);
if (throwable == null && statusCode == null){
out.println(“<h2>erroe message</h2>”);
out.println(” <a href=\”” +
response.encodeURL(“http://localhost:8080/”) +
“\”>ホームページ</a>。”);
}else if (statusCode != null) {
out.println(“エラーコード : ” + statusCode);
}else{
out.println(“<h2>エラーメッセージ</h2>”);
out.println(“Servlet Name : ” + servletName +
“</br></br>”);
out.println(“エラークラス名 : ” +
throwable.getClass( ).getName( ) +
“</br></br>”);
out.println(” URI: ” + requestUri +
“<br><br>”);
out.println(“メッセージ: ” +
throwable.getMessage( ));
}
out.println(“</body>”);
out.println(“</html>”);
}
// postリクエスト
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}

「Java開発」JDBCドライバーによるoracleに接続するサンプルコード

Javaコード:
package com.startnews24.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class OrDbConn {
private static final String url =”jdbc:oracle:thin:@localhost:1521:orcl”;
private static final String name =”ora_user”;
private static final String passwd =”ora_pwd”;
private static final String dbDriver_t =”oracle.jdbc.OracleDriver”;
public Connection getConnection() {
Connection conn =null;
try{
Class.forName(dbDriver_t);
conn = DriverManager.getConnection(url, name, passwd);
if(conn !=null) {
System.out.println(“Oracelデータベースに接続成功”);
}
}catch(ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public void close(Connection conn) {
try{
if(conn !=null) {
if(!conn.isClosed()) {
conn.close();
}
}
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
OrDbConn conn=new OrDbConn();
Connection con = conn.getConnection();
try{
PreparedStatement ctnpt = con.prepareStatement(“select notename from cftnotetbl where noteid=1”);
ResultSet rs = ctnpt.executeQuery();
if(rs.next())
System.out.println(rs.getString(1));
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn.close(con);
}
}

「Java開発」scriptコード、styleコードとhtmlコードのエスケープ処理方法

Javaコード:
public static String htmlToTextFunc(String inputStr) {
String htmlStr = inputStr;
String cftText_Str =””;
java.util.regex.Pattern cftScript_p;
java.util.regex.Matcher cftScript_m;
java.util.regex.Pattern cftStyle_p;
java.util.regex.Matcher cftStyle_m;
java.util.regex.Pattern cftHtml_p;
java.util.regex.Matcher cftHtml_m;

try {
//script正規表現
String scriptReg = “<[//s]*?script[^>]*?>[//s//S]*?<[//s]*?///[//s]*?script[//s]*?>”;
//style正規表現
String styleReg = “<[//s]*?style[^>]*?>[//s//S]*?<[//s]*?///[//s]*?style[//s]*?>”;
//htmlタグ正規表現
String htmlReg = “<[^>]+>”;

//scriptコードのエスケープ
cftScript_p = Pattern.compile(scriptReg,Pattern.CASE_INSENSITIVE);
cftScript_m = cftScript_p.matcher(htmlStr);
htmlStr = cftScript_m.replaceAll(“”);

//styleコードのエスケープ
cftStyle_p = Pattern.compile(styleReg,Pattern.CASE_INSENSITIVE);
cftStyle_m = cftStyle_p.matcher(htmlStr);
htmlStr = cftStyle_m.replaceAll(“”);

//htmlコードのエスケープ
cftHtml_p = Pattern.compile(htmlReg,Pattern.CASE_INSENSITIVE);
cftHtml_m = cftHtml_p.matcher(htmlStr);
htmlStr = cftHtml_m.replaceAll(“”);
cftText_Str = htmlStr;

}catch(Exception e) {
System.err.println(“htmlToTextFunc: ” + e.getMessage());
}
return cftText_Str;//テキスト文字列
}

「Openlayers開発」クリックされた位置の緯度経度を取得するサンプルコード

JavaScriptコード:
var click = new OpenLayers.Control.Click();
map.addControl(click);
click.activate();

OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
defaultHandlerOptions: {
‘single’: true,
‘double’: false,
‘pixelTolerance’: 0,
‘stopSingle’: false,
‘stopDouble’: false
},
initialize: function(options) {
this.handlerOptions = OpenLayers.Util.extend(
{}, this.defaultHandlerOptions
);
OpenLayers.Control.prototype.initialize.apply(
this, arguments
);
this.handler = new OpenLayers.Handler.Click(
this, {
‘click’: this.trigger
}, this.handlerOptions
);
},

trigger: function(e) {
markers.clearMarkers();
var url = ‘gis/imgage/zaho.png’;
//サイズ
var paSze = new OpenLayers.Size(30, 30);
var calculateOffset = function(size) {
return new OpenLayers.Pixel(-(size.w/2), -size.h);
};
var icon = new OpenLayers.Icon(url, paSze, null, calculateOffset);
var lonlat = map.getLonLatFromPixel(e.xy);
marker = new OpenLayers.Marker(lonlat, icon);
markers.addMarker(marker);
//座標変換
lonlat.transform(new OpenLayers.Projection(“EPSG:3857”),
new OpenLayers.Projection(“EPSG:4326”));
//親画面のパラメータを設定
parent.gisx = lonlat.lon.toFixed(5);
parent.gisy = lonlat.lat.toFixed(5);
}

});

「JavaScript」文字列を半角に変換するコード

JSコード
function strtoHankaku(str){
var resultStr = “”;
var len = str.length;
for(var i=0;i<len;i++)
{
var afterCode = str.charCodeAt(i);
afterCode = (afterCode>=0xFF01 && afterCode<=0xFF5E)?(afterCode – 65248) : afterCode;
//スペース対応
afterCode = (afterCode==0x03000)?0x0020:afterCode;
resultStr += String.fromCharCode(afterCode);
}
return resultStr;
}

「JavaScript」文字列を全角に変換するコード

JSコード
function strtoZenkaku(str){
var resultStr = “”;
var len = str.length;
for(var i=0;i<len;i++)
{
var afterCode = str.charCodeAt(i);
afterCode = (afterCode>=0x0021 && afterCode<=0x007E)?(afterCode + 65248) : afterCode;
//スペース対応
afterCode = (afterCode==0x0020)?0x03000:afterCode;
resultStr += String.fromCharCode(afterCode);
}
return resultStr;
}

「Spring MVC開発」Spring Data Redisを利用する方法

1.設定ファイル
<!– jedis poolの設定 –>
<bean id=”baseJedisPoolConfig” class=”redis.clients.jedis.JedisPoolConfig”>
<property name=”maxTotal” value=”#{appPropsBaseRedisConf[‘redis.maxTotal’]}” />
<property name=”maxIdle” value=”#{appPropsBaseRedisConf[‘redis.maxIdle’]}” />
<property name=”minIdle” value=”#{appPropsBaseRedisConf[‘redis.minIdle’]}” />
<property name=”testOnBorrow” value=”#{appPropsBaseRedisConf[‘redis.testOnBorrow’]}” />
</bean>

<!– spring data redisの設定 –>
<bean id=”baseJedisConnectionFactory” class=”org.springframework.data.redis.connection.jedis.JedisConnectionFactory”>
<property name=”usePool” value=”true”></property>
<property name=”hostName” value=”#{appPropsBaseRedisConf[‘redis.host’]}” />
<property name=”port” value=”#{appPropsBaseRedisConf[‘redis.port’]}” />
<property name=”password” value=”#{appPropsBaseRedisConf[‘redis.pass’]}” />
<property name=”timeout” value=”#{appPropsBaseRedisConf[‘redis.timeout’]}” />
<property name=”database” value=”#{appPropsBaseRedisConf[‘redis.default.db’]}”></property>
<constructor-arg index=”0″ ref=”baseJedisPoolConfig” />
</bean>

<!– 開発環境 –>
<beans profile=”development”>

<!– プロパティをロード –>
<util:properties id=”appPropsBaseRedisConf” location=”classpath:config/base/redisbase-config.properties” />
</beans>

2.redisbase-config.properties
redis.host=127.0.0.1
redis.port=6379
redis.pass=#startnews24_Pwd&
redis.default.db=0
redis.timeout=100000
redis.maxTotal=100
redis.maxIdle=100
redis.minIdle=0
redis.testOnBorrow=true

1 / 1112345...10...最後 »