Pokazywanie postów oznaczonych etykietą Java. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Java. Pokaż wszystkie posty

sobota, 17 grudnia 2016

[Java][Spring MVC] Najprostsza aplikacja webowa

Aby stworzyć najprostszą aplikację webową musimy utworzyć nowy projekt Mavena (wybieramy w oknie ProjectExplorera New/Other lub skrót klawiszowy Ctrl+N). W następnym okienku wybieramy Maven Project:

Klikamy Next i tutaj zaznaczamy Create a simple project (skip archetype selection)

Wybieramy Next i tutaj ustawiamy jak poniżej:

Teraz gdy klikniemy Finish Maven utworzy dla nas całą strukturę katalogów, a właściwie to nasze IDE (Eclipse, STS) za pomocą wtyczki Mavena tworzy hierarchię folderów. Powinna ci się pokazać w Project Explorer taka struktura:

Teraz musimy dodać zależności Springa MVC. W tym celu otwieramy plik pom.xml. Powinien się otworzyć w edytorze plików POM, a wygląda to mniej więcej tak:

Jeśli z jakichś powodów otworzył by się inny edytor należy kliknąć PPM na pliku pom.xml i wybrać Open with, a następnie Maven POM editor. Teraz mamy dwie możliwości edycji. Pierwsza wykorzystująca zakładkę Dependencies

Dodajemy nowe zależności:

Kolejnym krokiem jest ustawienie wersji Javy w pliku pom.xml. W tym celu w zakładce Overview w sekcji Properties wybieramy Create i wpisujemy:

Drugim sposobem na edycję pliku pom.xml, jest wykorzystanie zakładki pom.xml i ręczne wprowadzanie tekstu. Nasz plik pom.xml powinien wyglądać tak:


  4.0.0
  com.packt
  webstore
  0.0.1-SNAPSHOT
  war
  
   
    org.springframework
    spring-webmvc
    4.0.3.RELEASE
   
   
    javax.servlet
    jstl
    1.2
   
   
    javax.servlet
    javax.servlet-api
    3.1.0
    provided
   
  
  
   UTF-8
   1.7
   1.7
  

W katalogu src/main/webapp tworzymy folder WEB-INF/jsp, a następnie plik welcome.jsp o treści:


<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet"
 href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<title>Witaj</title>
</head>
<body>
 
  <div class="jumbotron">
   <div class="container">
    <h1>${greeting}</h1>
    <p>${tagline}</p>
   </div>
  </div>
 
</body>
</html> 

W Project Menager klikamy PPM na Java Resources/src/main/java i z menu kontekstowego wybieramy New/Package i tworzymy paczkę com.packt.webstore.controller.

W paczce com.packt.webstore.controller tworzymy nową klasę (PPM/New/Class) o nazwie HomeController wpisujemy do niego następującą treść:

package com.packt.webstore.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {

 @RequestMapping("/")
 public String welcome(Model model) {
  model.addAttribute("greeting", "Witaj w naszym sklepie internetowym!");
  model.addAttribute("tagline", "Wyjątkowym i jedynym sklepie internetowym");
  
  return "welcome";
 }
}

Pozostało nam jeszcze utworzyć i skonfigurować serwlet przekazujący. Teraz stworzymy definicję serwleta. W katalogu src/main/webapp/WEB-INF/ utwórz plik web.xml o treści:


 
  DefaultServlet
  org.springframework.web.servlet.DispatcherServlet
 
 
  DefaultServlet
  /
 

Teraz pora na konfigurację serwleta. Tworzymy w tym samym katalogu plik o nazwie DefaultServlet-servlet.xml o treści:




 
 
 
 
  
  
 


Teraz mamy już wszystko, żeby wyświetlić naszą aplikację w przeglądarce.

Cała struktura oraz pliki wraz z treścią możecie pobrać na GitHubie pod adresem: https://github.com/lukaszres/webstore. O samym GitHubie opowiem wam później.

Podsumowując, aby aplikacja napisana z wykorzystaniem Springa zadziałała musimy utworzyć:

  • pom.xml (Project Object Model w tym pliku nakazujemy Mavenowi pobranie powiązanych ze Springiem plików JAR)
  • welcome.jsp (W tym pliku określamy, jak ma być wyświetlane, plik ten jest oparty na html.
  • controller.java (Kontroler jest klasą kontrolującą co ma być wyświetlane.
  • web.xml i servlet.xml (Definiowanie i konfiguracja serwletu przekazującego. Serwlet przekazujący analizuje adres URL podany w żądaniu i przekazuje kontrolerowi informację jakiej metody ma użyć do obsługi tego adresu URL).

encje

poniedziałek, 5 grudnia 2016

[JAVA] Operacje na plikach tekstowych.

Zapisywanie do plików tekstowych może odbywać się na różne sposoby. Jedne są wygodniejsze w użyciu inne mniej. Nie będę tu opisywał wszystkich możliwości, a skupię się na klasach FileReader oraz FileWriter. Oczywiście przy użyciu każdej z tych klas wykorzystujemy metodę try catch, która zwraca nam w razie niepowodzenia otwarcia pliku wyjątek FileNotFoundException Poniżej zamieszczam prezentację kodu do zapisu/odczytu plików.
public class Pliki {
 public static void main(String[] args) {
  try {
   FileWriter plik = new FileWriter ("plik.txt", true);//true pozwala dopisać do pliku
   BufferedWriter out = new BufferedWriter(plik);
   out.write("jakiś tekst\r\n");//\r potrzebne jest żeby notatnik widział \n
   out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
  try {
   // Uworzenie obiektu FileReader
   FileReader fileReader = new FileReader("plik.txt"); 
   // Utworzenie obiektu bufferReader
   BufferedReader bufferReader = new BufferedReader(fileReader);
   String linia;
   while((linia = bufferReader.readLine()) != null) {
    System.out.println(linia);
   }
   fileReader.close();
  }
  catch (FileNotFoundException e) {
   e.printStackTrace();
  } 
  catch (IOException e) {
   e.printStackTrace();
  }
 }
}