Java EE i MS SQL Server w Eclipse

Czyli jak połączyć się w języku programowania Java z serwerem bazodanowym SQL Server.

Konfiguracja SQL Server:

1. W Configuration Manager włączyć protokół TCP/IP dla serwera.

2. Stworzyć użytkownika z możliwością logowania do bazy:

CREATE LOGIN user_name WITH PASSWORD='***';
CREATE USER user_name FOR LOGIN user_name;

3. Stworzyć bazę danych, której właścicielem jest powyższy użytkownik (Database Properties/Files/Owner).

4. Sprawdzić poprawność logowania.

Eclipse Java IDE for Web Developers:

1. Otworzyć narzędzie Data Source Explorer (Window/Show View/Other/Data Source Explorer)

2. Utworzyć połączenie (Database Connections/New/SQL Server/Microsoft SQL Server 2008 JDBC Driver/Jar List/Clear All). Dodać ściągnięty najnowszy sterownik sterownik JAR. Ustawić nazwę użytkownika i hasło. Zmienić nazwę sterownika na inną. Przetestować połączenie.

Projekt aplikacji:

1. Stworzyć nowy dynamiczny webowy projekt. Określić środowisko wykonawcze, np. Apache Tomcat. Zaznaczyć generuj web.xml. Po utworzeniu projektu wrzucić sterownik, przykładowo o nazwie sqljdbc.jar do /WEB-INF/lib. Utworzyć dwie klasy: Polaczenie.java:

package pl.polaczenie;

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

public class Polaczenie {
	
	private Connection connection;
	private String userName = "user_name";
	private String password = "password";
	private String url = "jdbc:sqlserver://localhost:1433;databaseName=base_name";
	
	public Polaczenie() {
		try {
			connection = DriverManager.getConnection(url, userName, password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public Connection getConnection() {
		return connection;
	}

}

i PolaczenieTest.java:

package pl.test;

import static org.junit.Assert.assertNotNull;

import org.junit.jupiter.api.Test;

import pl.polaczenie.Polaczenie;

public class PolaczenieTest {
	
	Polaczenie polaczenie = new Polaczenie();
	
	@Test
	public void checkConnection() {
		assertNotNull(polaczenie.getConnection());
	}
}

Odpowiednio należy wstawić nazwę użytkownika, hasło i nazwę bazy danych. Uruchomić jako testy jednostkowe. Jeżeli nie ma błędów mamy poprawne połączenie aplikacji z bazą. I można zacząć tworzyć aplikację webową.

Zabezpieczenie plików serwera www – .htaccess i .htpasswd

Poniższa metoda jest przeznaczona dla systemu Windows, ale dla Linux-a jest bardzo podobna.

.htpasswd :

Otwieramy wiersz polecenia i przechodzimy do lokalizacji pliku wykonalnego htpasswd, jest to zazwyczaj ~\apache\bin.

Tworzymy plik .htpasswd za pomocą komendy:

htpasswd -bc .htpasswd username password

Gdzie argument -b odpowiada za podanie hasła z linii poleceń, -c za stworzenie nowego pliku. W miejsce username i password wstawiamy odpowiednie wartości.

Dla bezpieczeństwa umieszczamy plik .htpasswd w lokalizacji innej niż pliki www.

.htaccess :

Tworzymy plik z rozszerzeniem .htaccess i umieszczamy go w folderze z plikami www. W celu ochrony całego folderu umieszczamy w nim:

AuthUserFile [sciezka]\.htpasswd
AuthType Basic
AuthName "Zaloguj się, aby uzyskać dostęp do folderu"
require valid-user

Gdzie ścieżka to ścieżka dostępu do naszego pliku.

Sposób na zarobek w sieci

Obecnie internet ma prawie każdy. Więc czemu by nie wykorzystać go nie tylko w celu informacyjnym, rozrywkowym, komunikacyjnym, ale również spróbować zarobić poprzez coś co Nas pasjonuje.

I tu prosty przepis na przeobrażenie przyjemności w pieniądze.

1. Temat.

Czyli z czym będzie związana witryna internetowa. Ktoś lubi biegać? Niech pisze o bieganiu. Kto inny czytać? Niech pisze recenzje książek.

2. Domena

Już zawczasu dobrze jest rozejrzeć się za swoim miejscem w sieci, powinna ona być wpadająca w ucho, zawierać jak najwięcej słów kluczowych odpowiednich dla treści strony, ale też niekoniecznie, może to być po prostu imię i nazwisko.

3. Hosting

Wiąże się to z serwerem, na którym będą się znajdowały pliki z zawartością strony.

I tu istnieje wiele rozwiązań.

Można w najtrudniejszym przypadku postawić własny serwer i zarządzać nim, powinien być cały czas pod dostępem sieci, to warunek obowiązkowy.  System jakiś stabilny, np. jakaś dystrybucja Linuksa. Szerokopasmowe połączenie z internetem, taka oddzielna stacja pod serwer. Można najpierw spróbować czegoś podobnego ze zwykłym codziennie używanym komputerem, laptopem, czy stacjonarnym – nieważne. Ale rozwiązanie problemu na tym przykładzie oddzielnego serwera wiąże się z pewnymi kwestiami finansowymi i miejscem na dodatkową stację roboczą.

Istnieją oczywiście darmowe alternatywy, np. :

https://www.000webhost.com/

https://www.cba.pl/pl

https://www.heroku.com/

Wszystkie przeze mnie sprawdzone. I oto jakie wrażenia:

Na webhost pomimo informacji, że nie ma reklam, jak strona zaczęła prawdopodobnie być bardziej popularna lub po upływie czasu, reklamy i tak były. Na cba niestety też. Jedynie na heroku nie ma reklam. Ale to propozycja raczej dla osób, które miały już kontakt z konsolą, i interesuje je bardziej pisanie strony w takich językach, jak np. Ruby czy Java. Których na dwóch pierwszych pozycjach na pewno nie znajdzie. Darmowe heroku wiąże się z pewną pulą dynamicznych godzin pracy serwera.  Nie wiem co się dokładnie dzieje po przekroczeniu limitu, czy jest to ograniczone pasmo przepływu, czy w ogóle dezaktywuje się aplikacja. Ale na szczęście hosting jest skalowalny, więc jak strona zacznie być popularna można za opłatą pominąć te kwestię. Co do dwóch pierwszych to są to typowe PHP-owo MySQL-owe rozwiązania na serwerze współdzielonym z przyjaznym panelem administracyjnym.

Jeżeli ktoś już spróbuje darmowego sposobu i dojdzie do wniosku, że to nie jest to czego dokładnie oczekiwał, zawsze może za drobną opłatą za pierwszy rok skorzystać z oferty takiej jak, np. :

https://www.ovh.pl/hosting/

https://www.nazwa.pl/hosting/

https://home.pl/hosting

https://az.pl/hosting/

To się tyczy pierwszego roku, który zazwyczaj jest w jakiejś promocji, czasami nawet z darmowymi domenami, a po okresie promocyjnym ceny wahają się przeważnie od 300zł/rok.

4. Postawienie strony

Umieszczamy na stronie jak najwięcej słów kluczowych, żeby roboty wyszukiwarek mogły z łatwością znaleźć naszą stronę, którą utworzymy zwykłym Pajączkiem chociażby, albo czymś w rodzaju systemowego Notatnika, jak Notepad++.

Oczywiście lepiej skorzystać z jakiegoś zintegrowanego środowiska programistycznego, typu Eclipse, albo typowo webowego Brackets utworzonego w JavaScript.

Można pominąć kwestię programistyczną i skorzystać z gotowego CMS-a (systemu zarządzania treścią) i można mieć całkiem przyzwoitą stronę nie znając nic HTML-a, CSS, PHP czy też JavaScript-u. Na przykład popularny WordPress czy Joomla (oba wymagają wyłącznie PHP i MySQL-a, więc świetnie nadają się do większości darmowych czy mniej płatnych hostingów).

Prośba o dodanie strony do indeksu:

https://www.google.com/webmasters/tools/submit-url

5. Dodanie reklam.

Dodajemy jak najwięcej i jak największe reklamy, a skąd? Chociażby niejednej osobie obiło się o ucho AdSense Google. Jest to w pełni darmowa propozycja, a pieniądze naliczane są za kliknięcia bądź wyświetlenia reklam.

Nie zapomnijmy o dodaniu linku do rejestracji w serwisie:

https://www.google.com/adsense/start/

6. Publikacja strony.

Starajmy się rozpowszechnić adres naszej strony internetowej, więc gdzie się da, umieszczajmy linki, na blogach czy forach .

Kto chce, może skorzystać z kampanii reklamowej dla własnej strony, czyli AdWords, też od Google np. w stosunku 1:10 (1zł wydana na AdWords jest z zarobionych 10zł na AdSense).

7. Cierpliwość.

Czekamy, ale jeżeli chcemy by strona przychodziła stałe dochody, musimy ciągle pracować nad naszą stroną, tzw. pozycjonowaniem i rozwojem strony, bo kogo interesowałaby informacje sprzed bodajże 5-10lat.