Интернет програмиране с Java

Едносеместриален изборен курс (0+0+4) за студенти от ФМИ

Преподавателски екип

Светлин Наков

Българска асоциация на разработчиците на софтуер, председател

Борис Червенков

Апис, мениджър по контрол на качеството

Димитър Георгиев

ProSyst, софтуерен инженер

Лъчезар Цеков

WizCom, софтуерен инженер

Красимир Семерджиев

SAP България, ръководител на екип

Николай Недялков

Latona Development, софтуерен архитект, ръководител на екип

Анотация на курса

Курсът “Интернет програмиране с Java” е предназначен за студентите от всички курсове, специалности и специализации във ФМИ на СУ, които се интересуват от програмиране на Java и разработка на Интернет приложения. В рамките на курса студентите ще бъдат запознати със следните технологии:

-       Програмиране със сокети – разработка на Java приложения, които комуникират по Интернет и Интранет по протоколите TCP/IP – chat клиент/сървъри, web сървъри, proxy и forward сървъри, mail клиент/сървъри и др.

-       Java аплети – кратко въведение – създаване на графичен потребителски интерфейс с AWT, създаване на Java аплети, възможности и ограничения на аплетите, начини за комуникация със сървърски приложения.

-       Web-приложения – разработка на Web-приложения с технологиите Java Servlets и Java Server Pages (JSP) – въведение в Web-програмирането (протокол HTTP, заявки, отговори, cookies, ...), сървър за Web-приложения Tomcat, създаване и deploy-ване на Web-приложения съгласно стандартите на Sun за J2EE, създаване на потребителски тагове (custom tags) и използване на Struts framework.

Course Description

Тhe “Internet programming with Java” course objective is to introduce the students to the base technologies in the area of Internet-oriented programming with Java:

-       Socket programming – Development of Java applications that communicate through Internet and Intranet by means of TCP/IP protocols – chat client/servers, web servers, proxy and forward servers, mail client/servers, etc.

-       Java appletsA brief introduction - Creating graphical user interface with AWT, creating Java applets, applet advantages and limitations, communication with server-side applications.

-       Web-applications – Web application development with Java Servlets and JSP (Java Server Pages) – introduction to the Web programming (HTTP protocol, requests, responses, cookies, etc.), using Tomcat Web application server, creating and deploying Web applications according to the J2EE standards, creating custom tags and using Struts framework.

Изисквания към студентите

-          Познания по езика Java базови умения за програмиране на Java

-          Познаване на езика HTML

-          Владеене на английски език – някои лекции и учебни материали ще са на английски език

Изпити и оценки

По време на семестъра всеки студент ще трябва да предаде и защити 2 курсови проекта по предварително зададени теми, свързани с изучавания материал. Курсовите проекти са задължителни и формират крайната оценка.

Учебна програма

1.      Socket програмиране с Java

1.1.        Въведение в Internet протоколите. TCP/IP. Основни мрежови концепции

1.2.        Вход/изход с Java – двоични и текстови потоци

1.3.        Многонишково програмиране и Thread-синхронизация

1.4.        TCP сокети – клиентски и сървър сокети

1.5.        UDP и Multicast сокети

1.6.        Асинхронни сокети (non-blocking sockets)

1.7.        Достъп до отдалечени ресурси чрез URL

1.8.        Достъп до ресурси през HTTPS

1.9.        Пример: Разработка на mail клиент – изпращане и извличане на e-mail по SMTP/POP3

1.10.    Пример: Разработка на chat клиент/сървър

1.11.    Пример: Разработка на forward сървър

1.12.    Консултации и дискусии относно курсов проект № 1

2.      Java аплети

2.1.        Създаване на user interface с Java. Въведение в AWT

2.2.        Създаване на Java аплети – основни концепции

2.3.        Комуникация между аплет и сървър

2.4.        Пример: Разработка на chat аплет

3.      Web-програмиране с Java сървлети и Java Server Pages (JSP)

3.1.        Основни концепции в Web програмирането. HTTP протокол

3.2.        Сървлети. Архитектура. Пример за сървлет. Работа със сървър Tomcat

3.3.        Обработка на заявки. HTML форми. Извличане на параметри

3.4.        Жизнен цикъл на сървлета. Сесии. Cookies

3.5.        Java Server Pages. Архитектура на JSP engine

3.6.        Директиви, декларации и action-и в JSP. Използване на JavaBeans

3.7.        Служебни обекти и видимост. Използване на служебните обекти

3.8.        Обработка на изключения в JSP. Error pages

3.9.        Потребителски тагове – дефиниране и използване

3.10.    Създаване и deploy-ване на web-приложения, съгласно стандартите на Sun за J2EE

3.11.  Библиотеката JSTL (Java Standard Tag Library)

3.12.    Пример за web приложение – част 1

3.13.    Пример за web приложение – част 2

3.14.    Консултации и дискусии относно курсов проект № 2

Лекции

понеделник – 19-21 ч., зала 210, Хим. факултет

сряда – 19-21 ч., зала 210, Хим. факултет

Първа сбирка

26.02.2004 (четвъртък) – 19-21 ч., зала 210, Хим. факултет

За повече информация

Посетете сайта на курса: http://www.nakov.com/inetjava/