Presentation is loading. Please wait.

Presentation is loading. Please wait.

Язык Java. JSP..

Similar presentations


Presentation on theme: "Язык Java. JSP.."— Presentation transcript:

1 Язык Java. JSP.

2 Java. Синтаксис. Перевод строчки эквивалентен пробелу
Регистр в именах различается // Комментарии до конца строки /* Многострочные комментарии */

3 Типы данных Примитивные типы данных: Объекты boolean char – 2 байта
byte – 1 байт: целое -128 ÷ 127 short – 2 байта: целое -215 ÷ int – 4 байта: целое -231 ÷ long – 8 байт: целое -263 ÷ float – 4 байта double – 8 байт void Объекты

4 Определение новых типов данных
class имя_класса { тело_класса } тело_класса – объявления полей и методов класса Поля: данные любого типа (ссылки) Методы: возвращаемый_тип имя_метода(аргументы) { тело возвращение значения – return значение

5 Переменные Объявления переменных: Создание объекта: Поля объекта:
тип имя_переменной; тип имя_переменной = значение; Объявление не создаёт экземпляра объекта! Создание объекта: имя_переменной = new тип(аргументы); - вызов конструктора Поля объекта: имя_переменной.имя_поля

6 Пример программы // HelloDate.java import java.util.*;
public class HelloDate { public static void main(String[] args) { System.out.println("Hello, it's: "); System.out.println(new Date()); }

7 Сервлеты import java.io.*; import javax.servlet.*;
import javax.servlet.http.*; public class Hello extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html"); out.println( "<head><title>Hello!</title></head>"); out.println("<body><h1>Hello!</h1></body>"); out.println("</html>"); }

8 Классы сервлетов Пакет javax.servlet: HttpServlet HttpServletRequest
HttpServletResponse Cookie Session и т.д.

9 Предопределённые объекты
page типа java.lang.Object config типа ServletConfig out типа jsp.JspWriter application типа ServletContext session типа http.HttpSession pageContext типа jsp.PageContext response типа HttpServletResponse request типа HttpServletRequest

10 Типичное использование предопределённых объектов
page import="java.util.*" %> page contentType="text/html; charset=Windows-1251" %> page session="false" %> <% Cookie[] cs = request.getCookies(); %> <% Enumeration flds = request.getParameterNames(); %> <% String str=request.getParameter("name"); %> <% response.addCookie(cookie); %> <% response.setContentType("image/gif"); %> <% response.setHeader("Content-disposition","attachment; filename=data.txt"); %> <% out.println(str); %> <% Session ses = session.getId() %> <% session.setAttribute("My dog", new String("Ralph")); %> <% Str dogName = session.getAttribute("My dog") %>

11 Директивы include и forward
include file="url" %> = <jsp:directive.include file="url"/> – подключает файл при трансляции JSP в сервлет <jsp:include page="относительный URL" flush="true"/> – подключает файл при обработке запроса <jsp:forward page="относительный URL"/> – перенаправляет запрос на другую страницу

12 Пример: опрос За какую партию Вы намерены голосовать: 1. Единая Россия
2. Справедливая Россия 3. КПРФ 4. ЛДПР

13 Рисование формы <%@ page import="java.util.*" %>
page contentType="text/html; charset=Windows-1251" %> <html><body> <H2>Опрос: выборы в Госдуму</H2> <%! String[] parties = {"Единая Россия", "Справедливая Россия", "КПРФ", "ЛДПР"}; %> <form method="GET" action="anketa.jsp"> <P>За какую партию Вы намерены голосовать:</P><BLOCKQUOTE> <% for(int i = 0; i < parties.length; i++) { <INPUT type="radio" id="party<%=i+1%>" name="party" value="<%=i+1%>"> <LABEL for="party<%=i+1%>"> <%=i+1%>. <%=parties[i]%></LABEL><BR> } </BLOCKQUOTE><P><INPUT TYPE=submit value="Проголосовать"></form> </H3></body></html>

14 Обработка формы <%@ page import="java.util.*" %>
page import="java.io.*" %> page contentType="text/html; charset=Windows-1251" %> <html><body> <H2>Опрос: выборы в Госдуму</H2> <%! String dataFile = "data.txt"; %> <% if(request.getParameter("party") != null){ String vote=request.getParameter("party"); if(vote!=null){ BufferedWriter save = new BufferedWriter(new FileWriter(dataFile,true)); save.write(vote+"\n"); save.close(); <P>Ваше мнение учтено.</P> } </H3></body></html>

15 Показ результатов опроса
page import="java.util.*" %> page import="java.io.*" contentType="text/html; charset=Windows-1251" %> <html><body> <H2>Опрос: выборы в Госдуму</H2> <%! String dataFile = "data.txt"; %> <% if(request.getParameter("display") != null){ int[] votes = new int[parties.length+1]; BufferedReader data = new BufferedReader(new FileReader(dataFile)); String str; while( (str=data.readLine()) != null ){ int n = Integer.parseInt(str); if((n>0) && (n<=parties.length)){ votes[n]++; } } data.close(); <H3>Результаты опроса:</H3><OL> for(int i = 0; i < parties.length; i++) { <LI><%=parties[i]%>: <%=votes[i]%> голосов </H3></body></html>

16 Полный текст <%@ page import="java.util.*" %>
page import="java.io.*" %> page contentType="text/html; charset=Windows-1251" pageEncoding="Windows-1251" %> <html><body><H2>Опрос: выборы в Госдуму</H2> <%! String dataFile = "data.txt"; String[] parties = {"Единая Россия", "Справедливая Россия", "КПРФ", "ЛДПР"}; %> <% Enumeration flds = request.getParameterNames(); if(!flds.hasMoreElements()) { // No fields <form method="GET" action="anketa.jsp"> <P>За какую партию Вы намерены голосовать:</P><BLOCKQUOTE> for(int i = 0; i < parties.length; i++) { <INPUT type="radio" id="party<%=i+1%>" name="party" value="<%=i+1%>"> <LABEL for="party<%=i+1%>"> <%=i+1%>. <%=parties[i]%></LABEL><BR> } </BLOCKQUOTE><P><INPUT TYPE=submit value="Проголосовать"></form> } else { if(request.getParameter("party") != null){ String vote=request.getParameter("party"); if(vote!=null){ BufferedWriter save = new BufferedWriter(new FileWriter(dataFile,true)); save.write(vote+"\n"); save.close(); <P>Ваше мнение учтено.</P> if(request.getParameter("display") != null){ int[] votes = new int[parties.length+1]; BufferedReader data = new BufferedReader(new FileReader(dataFile)); String str; while( (str=data.readLine()) != null ){ int n = Integer.parseInt(str); if((n>0) && (n<=parties.length)){ votes[n-1]++; data.close(); <H3>Результаты опроса:</H3><OL> <LI><%=parties[i]%>: <%=votes[i]%> голосов } } } </H3></body></html> Полный текст

17 Добавляем проверку повторного голосования. Рисование.
page import="java.util.*" contentType="text/html; charset=Windows-1251" %> <html><body> <H2>Опрос: выборы в Госдуму</H2> <%! String[] parties = {"Единая Россия", "Справедливая Россия", "КПРФ", "ЛДПР"}; %> <% Cookie[] cookies = request.getCookies(); boolean voted = false; if(cookies != null){ for(int i=0;i<cookies.length;i++){ if(cookies[i].getName().equals("voted")){ voted = (cookies[i].getValue() != null); } }} if(voted){ out.println(“<P>Вы уже голосовали!</P>”);} else{ %> <form method="GET" action="anketa.jsp"><P>За какую партию Вы намерены голосовать:</P><BLOCKQUOTE> for(int i = 0; i < parties.length; i++) { <INPUT type="radio" id="party<%=i+1%>" name="party" value="<%=i+1%>"> <%=i+1%>. <%=parties[i]%><BR> </BLOCKQUOTE><P><INPUT TYPE=submit value="Проголосовать"></form> <% } %> </H3></body></html>

18 Установка Cookie <% if(request.getParameter("party") != null){
if(voted){ %> <P>Вы пытаетесь проголосовать повторно.</P> } else{ String vote=request.getParameter("party"); if(vote!=null){ Cookie cookie = new Cookie("voted","1"); cookie.setMaxAge(10*60*60*24); response.addCookie(cookie); BufferedWriter save = new BufferedWriter(new FileWriter(dataFile,true)); save.write(vote+"\n"); save.close(); <P>Ваше мнение учтено.</P>

19 Окончательный текст <%@ page import="java.util.*" %>
page import="java.io.*" %> page contentType="text/html; charset=Windows-1251" pageEncoding="Windows-1251" %> <html><body> <H2>Опрос: выборы в Госдуму</H2> <%! String dataFile = "data.txt"; String[] parties = {"Единая Россия", "Справедливая Россия", "КПРФ", "ЛДПР"}; %> <% Cookie[] cookies = request.getCookies(); boolean voted = false; if(cookies != null){ for(int i=0;i<cookies.length;i++){ if(cookies[i].getName().equals("voted")){ voted = (cookies[i].getValue() != null); } }} Enumeration flds = request.getParameterNames(); if(!flds.hasMoreElements()) { // No fields if(voted){ <P>Вы уже голосовали!</P> else{ <form method="GET" action="anketa_cookie.jsp"> <P>За какую партию Вы намерены голосовать:</P><BLOCKQUOTE> for(int i = 0; i < parties.length; i++) { <INPUT type="radio" id="party<%=i+1%>" name="party" value="<%=i+1%>"> <LABEL for="party<%=i+1%>"> <%=i+1%>. <%=parties[i]%></LABEL><BR> </BLOCKQUOTE><P><INPUT TYPE=submit value="Проголосовать"></form> } else { if(request.getParameter("party") != null){ <P>Вы пытаетесь проголосовать повторно.</P> String vote=request.getParameter("party"); if(vote!=null){ Cookie cookie = new Cookie("voted","1"); cookie.setMaxAge(10*60*60*24); response.addCookie(cookie); BufferedWriter save = new BufferedWriter(new FileWriter(dataFile,true)); save.write(vote+"\n"); save.close(); <P>Ваше мнение учтено.</P> if(request.getParameter("display") != null){ int[] votes = new int[parties.length+1]; BufferedReader data = new BufferedReader(new FileReader(dataFile)); String str; while( (str=data.readLine()) != null ){ int n = Integer.parseInt(str); if((n>0) && (n<=parties.length)){ votes[n-1]++; data.close(); <H3>Результаты опроса:</H3><OL> <LI><%=parties[i]%>: <%=votes[i+1]%> голосов </H3></body></html>


Download ppt "Язык Java. JSP.."

Similar presentations


Ads by Google