Download
wprowadzenie n.
Skip this Video
Loading SlideShow in 5 Seconds..
Wprowadzenie PowerPoint Presentation
Download Presentation
Wprowadzenie

Wprowadzenie

127 Vues Download Presentation
Télécharger la présentation

Wprowadzenie

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Wprowadzenie

  2. Plan wykładu (I) • Zagadnienia wstępne: Servlety, JDBC • Strony JSP • Spring i SpringMVC • DisplayTag • SpringAOP • Definiowanie znaczników • Zabezpieczenia stron • Zagadnienia związane z przetwarzaniem plików XML Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  3. Plan wykładu (II) • Co to są servlety? • Podstawowe metody servletów • Request, response i session • Co to jest JDBC? • Nawiązywanie połączenia z bazą danych • Współpraca z bazą danych przez JDBC Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  4. Servlety Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  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 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  6. Przykładowy 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(HTML>\n" +"<HEAD><TITLE>Strona1</TITLE></HEAD>\n" +"<BODY>\n" +"<H1>” + title+ ”</H1>\n" +"</BODY></HTML>"); out.close(); } } Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  7. Zapytanie (I) HttpServletRequest request – zapytanie String getParameter(String) void setParameter(String,String) String [] getParameterValues(String) Enumeration getParametersNames() Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  8. Zapytanie (II) String sort = ServletRequestUtils.getStringParameter(request, "sort",null); int page = ServletRequestUtils.getIntParameter(request, "page", -1); public static int[] getIntParameters(request, ”name”) public static int getRequiredIntParameter(request, ”name”) throws ServletRequestBindingException Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  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()); ..... } } Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  10. Zapytanie (IV) String userAgent = request.getHeader("User-Agent"); if (userAgent.contains("MSIE") { ... } else if (userAgent.contains("Opera")) { ... } Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  11. Odpowiedź (I) HttpServletResponse response - odpowiedź OutputStream o = response.getOutputStream(); response.setCharacterEncoding("UTF-8"); response.setContentType(”text/html”); response.setHeader(”...”); Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  12. Odpowiedź (II) Cookie c = new Cookie(”wykonano", Boolean.FALSE.toString()); c.setPath("/"); c.setMaxAge(-1); response.addCookie(c); Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  13. HttpSession (I) HttpSession session = request.getSession(true) String getAttribute(String) void setAttribute(String,String) public void removeAttribute(String name) public Enumeration getAttributeNames() Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  14. HttpSession (II) request.getSession().setAttribute("preselection”, preselection); preselection = (Preselection) request.getSession().getAttribute(”preselection”); request.getSession().removeAttribute("preselection”); Long time = request.getSession().getLastAccessedTime(); request.getSession().setMaxInactiveInterval(1); // sekundy request.getSession().getId(); Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  15. ServletContext WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( request.getSession().getServletContext() ); ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[] { servletContext.getRealPath( "WEB-INF” + System.getProperty("file.separator") + ”biblioteka-daoInna.xml” )}); Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  16. Przykładowy Servlet (I) public class ListyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { WebApplicationContext ctx = WebApplicationContextUtils. getWebApplicationContext(request.getSession().getServletContext()); UzytkownikService uzytkownikService = (UzytkownikService) ctx.getBean("uzytkownikService"); Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  17. Przykładowy Servlet (II) StringBuilder wynik = new StringBuilder(); String szukanyStart = request.getParameter(”q"); if (szukanyStart == null) return; ArrayList<Criterion> criteriaList = new ArrayList<Criterion>(); criteriaList.add(new BooleanCriterion("aktywny", "Aktywny",true)); criteriaList.add(new StringFirstCriterion("nazwisko", "Nazwisko",szukanyStart)); ArrayList<Uzytkownik> list = (ArrayList<Uzytkownik>) uzytkownikService.findByFirstLetter(criteriaList); Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  18. Przykładowy Servlet (III) Iterator<Uzytkownik> 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(); }} Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  19. Przykładowy Servlet (uzupełnienie) <form:input path="identyfikatorUzytkownika" /> <script type="text/javascript"> $().ready(function () { $("#identyfikatorUzytkownika").autocomplete('<c:url value="/listy/" />', { width: 400, selectFirst: false, extraParams: {"pole" : "uzytkownik"} }); }); </script> Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  20. DAO • Data Access Object (DAO) to wzorzec projektowy dostępu do danych zewnętrznych zakładający rozdzielenie kodu odpowiedzialnego za trwałość obiektów od kodu implementującego reguły biznesowe. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  21. Genercja połączenia • Pobranie sterownika (driver) JDBC. • Zdefiniowanie obiektu connection. • Ustanowienie połączenia. • Utworzenie objektu statement. • Wykonanie zapytania. • Pobranie wyników zapytania. • Zamknięcie połączenia. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  22. JDBC - przykład (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 TYPE=MyISAM; Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  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=""; ... } Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  24. JDBC - przykład try { Class.forName(driver); Connection connection = DriverManager.getConnection(url, username, password); Statement statement = connection.createStatement(); String query = "SELECT * FROM fruits"; ResultSet resultSet = statement.executeQuery(query); 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); } Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  25. JDBC - przykład (II) protected static String SELECT_UZYTKOWNIK ="SELECT " + "idUzytkownik,"+ "imie,"+ "nazwisko"+ " FROM "+ "uzytkownik"; protected static String SELECT_UZYTKOWNIK_WHERE_ID = SELECT_OSOBA + " WHERE idUzytkownik=?"; Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  26. JDBC - przykład (III) • public UzytkownikBean selectUzytkownikWhereId(String 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(); ...... Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

  27. JDBC - przykład (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; } Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego