среда, 16 марта 2016 г.

Если во время вывода информации в серверный вывод (serveroutput) произошло переполнение буфера:
«ORA-20000: ORU-10027: buffer overflow, limit of 1000000 bytes»
,
значит ты забыл воспользоваться пилюлькой:
«dbms_output.enable(NULL);»

вторник, 15 марта 2016 г.

Поле 106

Содержимое "paytype.xml" продиктовано Приложением №3 к Приказу Минфина России от 12.11.2013 N 107н (ред. от 23.09.2015) "Об утверждении Правил указания информации в реквизитах распоряжений о переводе денежных средств в уплату платежей в бюджетную систему Российской Федерации"
https://www.consultant.ru/document/cons_doc_LAW_155187/3a319b94ec6875cf7b20095f785a91d21822cb6f/

среда, 9 марта 2016 г.

вторник, 8 марта 2016 г.

Изменение регистра строки в bash c помощью awk

Перевод в верхний регистр:
str=Some string
upper_str=`echo $str|awk '{print toupper($0)}'`
echo $upper_str
Результат:
SOME STRING

Перевод в нижний регистр:
str=Some string
lower_str=`echo $str|awk '{print tolower($0)}'`
echo $lower_str
Результат:
some string

Чтение файла параметров (properties-файл) через JSP с помощью <fmt:setBundle>

Файл параметров (key-value pair) можно расположить здесь (будет доступно только в рамках WEB-приложения):
<tomcat>/webapps/<webapp>/WEB-INF/classes/myparams.properties
или здесь (будет доступно для всех WEB-приложений в рамках сервера:
<tomcat>/lib/myparams.properties

Тогда в JSP-файле (например, index.jsp) обращение к файлу параметров можно обратится так:
(scope - используется для того, чтобы контекст о подключении к БД был доступен всем JSP-файлам в рамках данного WEB-приложения)

<fmt:setBundle var="prop" basename="myparams"/>
<fmt:message bundle="${prop}" key="db.driver" var="dbDrv"/>
<fmt:message bundle="${prop}" key="db.url" var="dbUrl"/>
<fmt:message bundle="${prop}" key="db.user" var="dbUser"/>
<fmt:message bundle="${prop}" key="db.password" var="dbPswd"/>
<sql:setDataSource var="dbConnection" driver="${dbDrv}" url="${dbUrl}" user="${dbUser}" password="${dbPswd}" scope="application"/>
<sql:query var="result" dataSource="${dbConnection}" sql="select id, schemaname, azkversion, description from schemainfo" />

Листинг <tomcat>/webapps/<webapp>/WEB-INF/classes/myparams.properties:

db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@dbserver:1521:ORACLESID
db.user=MYSCHEMA
db.password=password

Включение JSTL в Tomcat

Скопировать jstl-1.2.jar в <tomcat>/lib/ или в <webapp>/WEB-INF/lib/
JSTL wiki page: http://stackoverflow.com/tags/jstl/info

Доступ к параметрам JSP через EL-выражение

Получение значения переменной "str" в JSP можно заменить с этого:
<%=request.getParameter("str");%>
на EL-выражения:
${param.str}
или так:
${param["str"]}

И короче, и обработка значения "null" правильнее, т.к. сразу вот это получаем.

понедельник, 7 марта 2016 г.

Обработка null у строковой переменной в JSP

Если
String str = null
то "page.jsp" с содержимым:
Переменная str = <%=str%>
отобразиться в браузере так:
Переменная str = null

Чтобы пустая строка отобразилась в браузере пустой:
Переменная str =
нужно в "page.jsp" воспользоваться EL-выражением:
Переменная str = ${str}

пятница, 4 марта 2016 г.

Кодировка UTF-8 для GET-запросов в Tomcat

Письмо самому себе:
Дорогой я, если ты все еще тот лошарик, который так и не научился работать с POST-запросами и EL-expressions, а умеет работать только с GET-запросами, тогда тебе все еще пригодится навык превращать кракозябры в русские буквы из параметров. Для этого необходимо добавить «URIEncoding="UTF-8"» в файл
<tomcat>/conf/server.xml
в блок параметров коннектора, например:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8"

Чтение файла параметров (properties-файл) через JSP

Листинг index.jsp
<%@ page import="java.io.FileInputStream" %>
<%@ page import="java.util.Properties" %>
<%
FileInputStream file = new FileInputStream(request.getRealPath("test.file"));
Properties prop = new Properties();
prop.load(file);
String db_url = prop.getProperty("db.url");
%>
<html>
<head></head>
<body>
<%out.print("Test N 11");%>
<br>
<%out.print(request.getRealPath("/"));%>
<br>
<%out.print("From parfile: " + db_url);%>
</body>
</html>

Листинг test.file
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@dbserver:1521:ORACLESID
db.user=MY_ORA_SCHEMA
db.password=pass

В браузере будет следующее:
Test N 11
/opt/apache-tomcat/webapps/my_app/
From parfile: jdbc:oracle:thin:@jdbc:oracle:thin:@dbserver:1521:ORACLESID

четверг, 3 марта 2016 г.

Доступ к СУБД Oracle через JSP под Tomcat

Пример доступа к БД Oracle через JSP под Tomcat.

Чтобы научить tomcat подключаться к базам Oracle, копируем ojdbc6.jar в папку <tomcat>\lib.
Создаем web-приложение: JSP-страница, которая будет выводить содержимое таблицы "USER" из БД "c:/data/base.fdb" сервера "dbserver"
<tomcat>\webapps\test_app\index.jsp

Листинг index.jsp:
<%@page import="java.sql.*" %>
<%Class.forName("oracle.jdbc.driver.OracleDriver"); %>
<HTML>
    <HEAD>
        <TITLE>Database access through JSP</TITLE>
    </HEAD>
    <BODY>
        <H1>Result of select query</H1>
        <%
            Connection connection = DriverManager.getConnection(
                "jdbc:oracle:thin:@dbserver:1521:ORACLESID",
                "MY_ORA_SCHEMA",
                "password");
            Statement statement = connection.createStatement();
            ResultSet resultset = statement.executeQuery("select id, name from user order by id asc");
        %>
        <TABLE BORDER="1">
            <TR>
                <TH>id</TH>
                <TH>name</TH>
            </TR>
            <% while(resultset.next()){ %>
            <TR>
                <TD> <%= resultset.getString(1) %></TD>
                <TD> <%= resultset.getString(2) %></TD>
            </TR>
            <% } %>
        </TABLE>
    </BODY>
</HTML>

Полезные ссылки:
http://www.java2s.com/Tutorial/Java/0360__JSP/MakeDatabaseconnection.htm
http://jaybirdwiki.firebirdsql.org/jaybird/doku.php?id=config:driver_config

Проработать:
http://www.tutorialspoint.com/jsp/jsp_database_access.htm

Доступ к СУБД Firebird через JSP под Tomcat

Пример доступа к БД Firebird через JSP под Tomcat.

Чтобы научить tomcat подключаться к базам Firebird, копируем jaybird-full-2.2.9.jar в папку <tomcat>\lib.
Создаем web-приложение: JSP-страница, которая будет выводить содержимое таблицы "USER" из БД "c:/data/base.fdb" сервера "dbserver"
<tomcat>\webapps\test_app\index.jsp

Листинг index.jsp:
<%@page import="java.sql.*" %>
<%Class.forName("org.firebirdsql.jdbc.FBDriver"); %>
<HTML>
    <HEAD>
        <TITLE>Database access through JSP</TITLE>
    </HEAD>
    <BODY>
        <H1>Result of select query</H1>
        <%
            Connection connection = DriverManager.getConnection(
                "jdbc:firebirdsql:dbserver/3255:c:/data/base.fdb",
                "SYSDBA",
                "masterkey");
            Statement statement = connection.createStatement();
            ResultSet resultset = statement.executeQuery("select id, name from user order by id asc");
        %>
        <TABLE BORDER="1">
            <TR>
                <TH>id</TH>
                <TH>name</TH>
            </TR>
            <% while(resultset.next()){ %>
            <TR>
                <TD> <%= resultset.getString(1) %></TD>
                <TD> <%= resultset.getString(2) %></TD>
            </TR>
            <% } %>
        </TABLE>
    </BODY>
</HTML>

Полезные ссылки:
http://www.java2s.com/Tutorial/Java/0360__JSP/MakeDatabaseconnection.htm
http://jaybirdwiki.firebirdsql.org/jaybird/doku.php?id=config:driver_config

Проработать:
http://www.tutorialspoint.com/jsp/jsp_database_access.htm

Архив