Wprowadzenie - PowerPoint PPT Presentation

About This Presentation
Title:

Wprowadzenie

Description:

Wprowadzenie Plan wyk adu (I) Zagadnienia wst pne: Servlety, JDBC Strony JSP Spring i SpringMVC DisplayTag SpringAOP Definiowanie znacznik w Zabezpieczenia stron ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 28
Provided by: lod68
Category:

less

Transcript and Presenter's Notes

Title: Wprowadzenie


1
  • Wprowadzenie

2
Plan wykladu (I)
  • Zagadnienia wstepne Servlety, JDBC
  • Strony JSP
  • Spring i SpringMVC
  • DisplayTag
  • SpringAOP
  • Definiowanie znaczników
  • Zabezpieczenia stron
  • Zagadnienia zwiazane z przetwarzaniem plików XML

3
Plan wykladu (II)
  • Co to sa servlety?
  • Podstawowe metody servletów
  • Request, response i session
  • Co to jest JDBC?
  • Nawiazywanie polaczenia z baza danych
  • Wspólpraca z baza danych przez JDBC

4
Servlety
5
Metody Servletów
  • public void init(ServletConfig config)
  • public void destroy()
  • public void doGet(HttpServletRequest request,
  • HttpServletResponse response)
  • throws ServletException, IOException
  • public void doPost(HttpServletRequest request,
  • HttpServletResponse response)
  • throws ServletException, IOException

6
Przykladowy Servlet
  • public class PrzykladServlet extends HttpServlet
  • public void doGet (HttpServletRequest request,
    HttpServletResponse response) throws
    ServletException, IOException
  • PrintWriter out
  • String title Tytul"
  • response.setContentType("text/html")
  • out response.getWriter()
  • out.println(HTMLgt\n" "ltHEADgtltTITLEgtStrona1lt/TITLE
    gtlt/HEADgt\n" "ltBODYgt\n" "ltH1gt title
    lt/H1gt\n" "lt/BODYgtlt/HTMLgt")
  • out.close()

7
Zapytanie (I)
  • HttpServletRequest request zapytanie
  • String getParameter(String)
  • void setParameter(String,String)
  • String getParameterValues(String)
  • Enumeration getParametersNames()

8
Zapytanie (II)
  • String sort ServletRequestUtils.getStringParamet
    er(request, "sort",null)
  • int page ServletRequestUtils.getIntParameter(req
    uest, "page", -1)
  • public static int getIntParameters(request,
    name)
  • public static int getRequiredIntParameter(request,
    name)
  • throws ServletRequestBindingException

9
Zapytanie (III)
  • request.getServerPort()
  • request.getServletPath()
  • Cookie cookies request.getCookies()
  • for (Cookie c cookies)
  • if (c.getName().equals("wykonano"))
  • boolean a Boolean.parseBoolean(c.getValue())
  • .....

10
Zapytanie (IV)
  • String userAgent request.getHeader("User-Agent")
  • if (userAgent.contains("MSIE")
  • ...
  • else if (userAgent.contains("Opera"))
  • ...

11
Odpowiedz (I)
  • HttpServletResponse response - odpowiedz
  • OutputStream o response.getOutputStream()
  • response.setCharacterEncoding("UTF-8")
  • response.setContentType(text/html)
  • response.setHeader(...)

12
Odpowiedz (II)
  • Cookie c new Cookie(wykonano",
    Boolean.FALSE.toString())
  • c.setPath("/")
  • c.setMaxAge(-1)
  • response.addCookie(c)

13
HttpSession (I)
  • HttpSession session request.getSession(true)
  • String getAttribute(String)
  • void setAttribute(String,String)
  • public void removeAttribute(String name)
  • public Enumeration getAttributeNames()

14
HttpSession (II)
  • request.getSession().setAttribute("preselection,
    preselection)
  • preselection (Preselection) request.getSession()
    .getAttribute(preselection)
  • request.getSession().removeAttribute("preselection
    )
  • Long time request.getSession().getLastAccessedTi
    me()
  • request.getSession().setMaxInactiveInterval(1)
    // sekundy
  • request.getSession().getId()

15
ServletContext
  • WebApplicationContext ctx WebApplicationContextU
    tils.getWebApplicationContext( request.getSession(
    ).getServletContext() )
  • ApplicationContext ctx
  • new FileSystemXmlApplicationContext(new String
  • servletContext.getRealPath(
  • "WEB-INF
  • System.getProperty("file.separator")
  • biblioteka-daoInna.xml ))

16
Przykladowy Servlet (I)
  • public class ListyServlet extends HttpServlet
  • _at_Override
  • protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws
    ServletException, IOException
  • WebApplicationContext ctx WebApplicationContextU
    tils. getWebApplicationContext(request.getSession(
    ).getServletContext())
  • UzytkownikService uzytkownikService
    (UzytkownikService) ctx.getBean("uzytkownikService
    ")

17
Przykladowy Servlet (II)
  • StringBuilder wynik new StringBuilder()
  • String szukanyStart request.getParameter(q")
  • if (szukanyStart null) return
  • ArrayListltCriteriongt criteriaList new
    ArrayListltCriteriongt()
  • criteriaList.add(new BooleanCriterion("aktywny",
    "Aktywny",true))
  • criteriaList.add(new StringFirstCriterion("nazwisk
    o", "Nazwisko",szukanyStart))
  • ArrayListltUzytkownikgt list (ArrayListltUzytkownik
    gt) uzytkownikService.findByFirstLetter(criteriaLis
    t)

18
Przykladowy Servlet (III)
  • IteratorltUzytkownikgt listIterator
    list.iterator()
  • while (listIterator.hasNext())
  • Uzytkownik uzytkownik listIterator.next()
  • wynik.append(uzytkownik.getNazwisko() " "
    uzytkownik.getImie() "\n")
  • response.setCharacterEncoding("UTF-8")
  • PrintWriter out response.getWriter()
  • out.print(wynik.toString())
  • out.close()

19
Przykladowy Servlet (uzupelnienie)
  • ltforminput path"identyfikatorUzytkownika" /gt
  • ltscript type"text/javascript"gt
  • ().ready(function ()
  • ("identyfikatorUzytkownika").autocomplete('ltcur
    l value"/listy/" /gt',
  • width 400,
  • selectFirst false,
  • extraParams "pole" "uzytkownik"
  • )
  • )
  • lt/scriptgt

20
DAO
  • Data Access Object (DAO) to wzorzec projektowy
    dostepu do danych zewnetrznych zakladajacy
    rozdzielenie kodu odpowiedzialnego za trwalosc
    obiektów od kodu implementujacego reguly
    biznesowe.

21
Genercja polaczenia
  • Pobranie sterownika (driver) JDBC.
  • Zdefiniowanie obiektu connection.
  • Ustanowienie polaczenia.
  • Utworzenie objektu statement.
  • Wykonanie zapytania.
  • Pobranie wyników zapytania.
  • Zamkniecie polaczenia.

22
JDBC - przyklad (baza danych)
  • CREATE TABLE uzytkownik (
  • idUzytkownik int(11) NOT NULL auto_increment,
  • imie varchar(255) default NULL,
  • nazwisko varchar(255) default NULL,
  • wiek int(11) default NULL,
  • email varchar(255) default NULL,
  • haslo varchar(255) default NULL,
  • login varchar(255) default NULL,
  • telefon varchar(255) default NULL,
  • idPokoj int(11) default NULL,
  • idRole int(11) default NULL,
  • PRIMARY KEY (idOsoba)
  • ) charset utf8 TYPEMyISAM

23
JDBC (obiekt domenowy)
  • public class UzytkownikBean
  • private String idUzytkownik""
  • private String imie""
  • private String nazwisko""
  • private String wiek""
  • private String email""
  • private String haslo""
  • private String telefon ""
  • private String idRole""
  • private String idPokoj""
  • ...

24
JDBC - przyklad
  • try
  • Class.forName(driver)
  • Connection connection
  • DriverManager.getConnection(url, username,
    password)
  • Statement statement connection.createStatement(
    )
  • String query "SELECT FROM fruits"
  • ResultSet resultSet statement.executeQuery(quer
    y)
  • while(resultSet.next())
  • System.out.print(" " resultSet.getInt(1))
  • catch(ClassNotFoundException cnfe)
  • System.err.println("Error loading driver "
    cnfe)
  • catch(SQLException sqle)
  • System.err.println("Error connecting " sqle)

25
JDBC - przyklad (II)
  • protected static String SELECT_UZYTKOWNIK
    "SELECT "
  • "idUzytkownik,"
  • "imie,"
  • "nazwisko"
  • " FROM " "uzytkownik"
  • protected static String SELECT_UZYTKOWNIK_WHERE_ID
    SELECT_OSOBA " WHERE idUzytkownik?"

26
JDBC - przyklad (III)
  • public UzytkownikBean selectUzytkownikWhereId(Stri
    ng id)
  • UzytkownikBean f null
  • Connection con getConnection()
  • PreparedStatement ps null
  • ResultSet rs null
  • try
  • ps con.prepareStatement(SELECT_UZYTKOWNIK_
    WHERE_ID)
  • ps.setString(1, id)
  • rs ps.executeQuery()
  • ......

27
JDBC - przyklad (IV)
  • while (rs ! null rs.next())
  • f new UzytkownikBean()
  • f.setIdUzytkownik(rs.getString("idUzytkownik"
    ))
  • f.setImie(rs.getString("imie"))
  • f.setNazwisko(rs.getString("nazwisko"))
  • catch (SQLException sqle)
  • sqle.printStackTrace()
  • finally
  • closeAll(con, ps, rs)
  • rs null
  • ps null
  • con null
  • return f
Write a Comment
User Comments (0)
About PowerShow.com