Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Java Server Pages, JDBC: Все вопросы (http://forum.oszone.net/showthread.php?t=60611)

vadimiron 04-02-2006 22:16 402591

Java Server Pages, JDBC: Все вопросы
 
Здесь обсуждается Java Server Pages, и все с ней связанные (например JDBC)технологии

Vlad Drakula 23-02-2006 11:57 409913

vadimiron
ну... может всетаки начнешь свой рассказ?

для начала расскажи как установить и настроить сервер...


mar 23-02-2006 12:02 409921

Vlad Drakula
ты под сервером подразумеваешь tomcat?

vadimiron 23-02-2006 12:21 409932

Vlad Drakula, mar
Я обязательно сделаю типа фака, что для данной технологии нужно и тд, но сначало я её сам поизучаю лучше :)
Просто сейчас учу Java, когда основы закончу возьмусь за Server Pages и тогда всё выложу, так что терпение :)

Vlad Drakula 03-03-2006 13:38 413325

vadimiron
ну??? може уже что расскажешь???

mar 03-03-2006 14:18 413350


Vlad Drakula
Что,- не терпится? =)
vadimiron
а ты по ходу учебы можешь выдавать нам сюда полученные знания. Учебе очень поможет ;]
(Знаешь: "Объяснял, объяснял, даже сам понял" :))

vadimiron 05-03-2006 19:01 414048

Пара слов о данной технологии:

JSP, или Java Server Pages, своим способом генерирования HTML документов очень похожа на PHP, то есть код JSP смешивается с обычным кодом HTML, и вставляется между тегами <%.....%>. Между этими тегами вставляется совершенно нормальный Java код (исключая только несколько спец команд самой JSP)

Для обработки JSP документов нужен соответствующий сервер. Их большое множество, причём очень много коммерческих, но самым известных является Tomcat. Tomcat изначально разрабатывался самой Sun, но потом был передан Apache Group и стал open source, так что данный сервер можно считать самым "правильным".
Вообще, существует два способа, как можно написать web-приложение: Applets и Servlets.
Апплеты загружаются клиенту и исполняются его браузером, Сервлеты же работают на стороне сервера и генерируют HTML страницу. JSP же был создан для более простого и эффективного создания Сервлетов. Простота как раз заключается в том, что Java и HTML код можно перемешивать.
Задача сервера же, из JSP скрипта создать сервлет, котрый в свою очередь будет генерировать HTML.

Настройка Tomcat:
Версия Tomcat-a зависит от версии JSP, которая будет использоваться в разработке. Здесь лучше скачивать самое последнее, то есть JRE 5 (а лучше сразу JDK 5) и тогда Tomcat 5.5.* .
Tomcat может изначально работать, как самостоятельный веб сервер, но лучше его использовать в связке с Апачем, так как Апач в качестве веб сервера предлагает гараздо больше настроек и возможностей. Tomcat же в подобной связке будет отвечать за обработку JSP скриптов.
Установка его очень проста, так что не требует дополнительных комментариев. После установки сервер доступен по адресу localhost:8080.
Чтобы связать Apache с Tomcat, нужно скачать и положит в соответствующую папку модуль mod_jk, потом активировать данный модуль в конфиге, указать путь к Workers файлу Tomcat-а (это файл настроек для перенаправления вызовов с апача на Tomcat и тд, при стандартной установке Tomcat-а этот файл уже создан, осталось только путь к нему указать), далее нужно указать путь к логу Tomcat-а и присоединить все те папки с JSP скриптами, запросы к которым должны быть переправлены на Tomcat.
Вот мой конфиг:
Код:

LoadModule jk_module D:/Apache2/modules/mod_jk.so

JkWorkersFile "D:/Tomcat/conf/catalina.properties"

JkLogFile "D:/Tomcat/logs/mod_jk.log"

JkLogLevel info

JkMount /manager ajp13
JkMount /manager/* ajp13
JkMount /servlets-examples ajp13
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
JkMount /tomcat-docs ajp13
JkMount /tomcat-docs/* ajp13
JkMount /webdav ajp13
JkMount /webdav/* ajp13

Здесь наверно надо ещё пояснить что такое ajp13: это чтото типа протокола для перенаправления вызовов с апача на Tomcat - их сущестует несколько видов, но везде указывается, что этот нужно использовать, так как жругие не поддерживаются или устарели.

Пару линков:
Tomcat
SUN страница по JSP

В качестве редактора можно посоветовать мощный и бесплатный netbeans 5.*, но в сети можно больше разных найти, так что это дело индивидульное

Vlad Drakula 05-03-2006 22:29 414139

vadimiron
а чем JSP лучьше(хуже) чем PHP? (за исключеним того что это разные языки)

mar 06-03-2006 00:03 414180

Vlad Drakula
очень кратко:
- скоростью работы сервлетов по сравнению с php (выигрыш очень большой)
- стоимостью разработок (к сожалению в проигрыше у нас чаще всего оказываются web-разработчики, которым не дают развернуться :[ )
подробнее - ждем vadimiron =)

vadimiron
спасибо, очень интересно :) Заодно поставила из портов tomcat и mod_jk :)

Vlad Drakula 06-03-2006 00:30 414187

mar
за частую важна не скорость работы с голова програмиста...
я видел одного програмера, которые одну таблицу формировал с помошью SQL в течении 30 секунд...(таблица в принцепе очень простая... а сервер очень быстрый... но все равно дико долго...)

еще есть такая вещь как на кладные расходы процессорного времени, когда время выполнения опускается к десяткам милисекунд то важны именно задержки вне самого языка... а еще есть параметр - организация памяти и работа с ней.

Vlad Drakula 06-03-2006 00:32 414189

vadimiron
а что если все это пописать то можно будет запускать *.jsp также как и *.php ?

vadimiron 06-03-2006 01:22 414199

Цитата:

а что если все это пописать то можно будет запускать *.jsp также как и *.php ?
Не, мне пока это не удалось, надо будет ещё повозится с этим, возможно ли это. Все эти Jkmount-ы указывают на папки, которые лежат в контексте Tomcat-a, а апач при обращение к этим папкам знает, что надо не самому эти папки искать, а сразу переводить весь запрос Tomcat-у

PHP vs JSP
Я читал пару статей и заметок: все сходятся на том, что скорость выполнения у PHP больше, но к этому можно две вещи сказать:
1) Сегодняшние сервера(то есть железо) достаточны сильны, и разница в скорости возможно уже почт не заметна
2)Самое долгое в обработке JSP-его компиляция, но она происходит всего один раз, при первом обращении к срипту. Далее берётся уже готовая версия, то есть "обычное" выполнение
Ещё один вопрос, это скорость создания приложения: здесь также выигрывает PHP, но JSP наследует преимущества Java, то есть вся система классов, что выглядит красивее, чем в PHP, вовсем другой уровень использования Exceptions и тд.
К тому же моё личное наблюдение: в JSP можно использовать любые классы Java, например даже для работы с видео или звуком, для PHP чтото подобного не существует. Есть только библиотеки для работы с изображениями.

Ну и конечно, PHP ещё выигрывает простотой изучения, так как для JSP надо также разбираться в JAVA

mar 06-03-2006 13:05 414396

vadimiron
по скорости ссылки не кинешь? (потому, что у меня представления прямо скажем ровно противоположные :). могу обосновать, но лучше сначала почитать, то, что ты дашь :)). Или мы немного о разном - я о сервлетах и Java внутри - на стороне сервера, а ты именно о JSP - как встроенном в страницы?


Vlad Drakula 06-03-2006 13:42 414425

vadimiron
так если php на сервере нормально настроен то и он переводится в байт код всего один раз, а потом берется из кеша.

vadimiron 22-03-2006 02:12 420324

Если кто будет начинать учить, то вот простенькая гостевая книга на JSP
Работает с базой MySQL (две таблицы: user(ID,NAME); message(ID,TEXT,TIME,ID_USER))

Код:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>

<!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">
<title>JSP Page</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/guestbook","login","password");
%>


<h1>My first FORM</h1>
<form method="POST">
    <input name='name' type='text' maxlength='30'><br>
        <textarea name="text" rows="4" cols="20"></textarea>       
    <input type='submit' value='OK'>
</form>
<br><br><br>

<%
String name=request.getParameter("name");
String text=request.getParameter("text");
Statement stmt=conn.createStatement();
if(name!=null && text!=null)
{   
    int id_user=0;
    ResultSet rs=stmt.executeQuery("SELECT ID FROM user WHERE NAME='"+name+"'");
    rs.next();
    id_user=rs.getInt("ID");

    if(id_user!=0)
    {
        stmt.executeUpdate("INSERT INTO message SET TEXT='"+text+"',ID_USER='"+id_user+"',TIME=NOW()");
    }
   
    rs.close();
}

out.print("<br><br>");

ResultSet mess=stmt.executeQuery("SELECT * FROM message M,user U WHERE U.ID=M.ID_USER");

while(mess.next())
{
    out.print("Name: "+mess.getString("NAME")+"<br>");
    out.print("Time: "+mess.getString("TIME")+"<br>");
    out.print("Message: "+mess.getString("TEXT")+"<br>");
    out.print("<hr>");
}
mess.close();
%>     
</body>
</html>
<%
stmt.close(); 
conn.close();
%>


Vlad Drakula 22-03-2006 10:45 420426

vadimiron
мда... практически копия PHP...

-bes- 12-04-2006 12:47 427172

2vadimiron
Вы давали пример гостевой книги. У меня этот скрипт выдал ошибки :(
Я думаю, что у меня неправильно настроен томкат. Подскажите, что делать... в яве я новичок.

вот собственно сама ошибка...
Код:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: com.mysql.jdbc.Driver
        at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:498)
        at org.apache.jsp._2_jsp._jspService(_2_jsp.java:110)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)


root cause

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1407)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252)
        at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:149)
        at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:83)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at org.apache.jsp._2_jsp._jspService(_2_jsp.java:54)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)



--------------------------------------------------------------------------------

Apache Tomcat/4.1.31


Vlad Drakula 12-04-2006 14:34 427204

-bes-
похоже свалилось в базе, проверьте правильность логина / пароля + наличие и корректность таблиц.

-bes- 12-04-2006 14:57 427215

Vlad Drakula
c базой, логином, паролем, таблицами и полями всё ок... путём коментирования всего лишнего выяснил, что ошибка возникает на этой строке...

Код:

Class.forName("com.mysql.jdbc.Driver");
что делать, кто-нибудь с подобным сталкивался? вполне возможно, что я неправильно настроил томкат с мускулом... первый раз у меня это и причем в линухах. версия мускула 3.23, томкат 4.1. возможно у меня не хватает самого драйвера или какой-то библиотеки.

-bes- 12-04-2006 20:09 427292

Насколько я понял, то программа не может найти драйвер. Я кинул этот ( mysql-connector-java-3.1.12-bin.jar ) файл в $CATALINA_HOME/common/lib/
что ещё надо сделать?

-bes- 12-04-2006 21:15 427311

УРА!!! К базе я подключился... просто надо было перезагрузить томкат... торможу :(

теперь следующая проблема...

Код:

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 35 in the jsp file: /2.jsp

Generated servlet error:
    [javac] Compiling 1 source file

/usr/tomcat/work/Standalone/localhost/_/_2_jsp.java:84: cannot resolve symbol
symbol  : variable conn
location: class org.apache.jsp._2_jsp
    Statement stmt=conn.createStatement();
                  ^



An error occurred at line: 65 in the jsp file: /2.jsp

Generated servlet error:
/usr/tomcat/work/Standalone/localhost/_/_2_jsp.java:110: cannot resolve symbol
symbol  : variable conn
location: class org.apache.jsp._2_jsp
    conn.close();
    ^
2 errors


vadimiron 12-04-2006 21:58 427328

-bes-
А код вы всё тот же используете ?? то есть тот, который я в качестве примера привёл??

-bes- 12-04-2006 22:16 427334

vadimiron
За основу взят Ваш код. Код переделан для другой базы, но я думаю, что ошибка не из-за этого.

З.Ы. только что настроил томкат в виндавсе... ошибка таже :(

vadimiron 12-04-2006 22:35 427335

-bes-
Я точно это не знаю, но возможно проблема в версиях, потому что там много различий между версиями
поставьте всё самое последнее, тогда я точно смогу помочь

-bes- 13-04-2006 18:06 427577

Разобрался... ошибка была из-за неправильной настройки мускула (не было прав на соединение).

Теперь следующий вопрос...
я считываю значения параметров в переменные txt_id и txt. Это то, что я ввёл в форму.
Код:

    String txt_id = request.getParameter("text_id");
    String txt = request.getParameter("text");

как сделать, чтобы записи не добавлялись в базу, если я не ввёл какое-то значение в форму?
я делаю так, но программа всегда добавляет запись (там где должно быть число появляется "0", а там где строка, вставляется пустая строка). в чем ошибка?
Код:

   
    if(txt_id != null && txt_id != "" && txt != null && txt != "")
    {   
        stmt.executeUpdate("INSERT INTO table SET id= ' "+txt_id+ " ', t= ' " +txt+ " ' ");
    }


vadimiron 13-04-2006 22:21 427620

-bes-
В джаве нельзя строку сравнивать с чём то напрямую (кроме null-с ним можно переменную любого класса сравнивать)
если проверяете "пустоту", то воспользуйтесь параметром класса String length. Либо сравнивайте с помощью йункций данного класса, например так:
HTML код:

txt_id.equals("")

-bes- 14-04-2006 00:03 427650

ага... спасибо.... всё заработало!!! просто до этого работал с пхп, асп, асп.нет... старая привычка.

Vlad Drakula 26-04-2006 01:02 431613

vadimiron
а где же продолжение рассказа?

vadimiron 26-04-2006 22:28 431956

Vlad Drakula
А что тут продолжать :) ??
В яве надо только классы стандартной библиотеки знать, ну и синтаксис

Vlad Drakula 26-04-2006 22:38 431959

vadimiron
а как создать сервис который будет пермонентно крутиться на сервере?

ALLY 26-04-2006 22:44 431960

vadimiron - А самому пару-тройку классов сделать? И почему только Java Server Pages - ведь есть и другие серверы на джаве? - Apache Forrest, Jigsaw - от W3C. Может темку сделать по-ширше?

vadimiron 27-04-2006 03:40 432017

Цитата:

А самому пару-тройку классов сделать
Не понял, конечно можно-в чём вопрос?
Цитата:

И почему только Java Server Pages - ведь есть и другие серверы на джаве
Java Server Pages-Это не сервер, это технология для создания веб-приложений. Tomcat-это сервер, и он поддерживает JSP.

Цитата:

а как создать сервис который будет пермонентно крутиться на сервере?
С помощью JSP я не уверен, что такое можно сделать, а вот обычной Джавой без проблем: есть определённые библиотеки (правда я ими не пользовался) - здесь


fgx1988 04-07-2007 13:33 607951

Kto nibud podskazhite kak sdelat' upload .doc failov na JSP i chto-bi v resultate u nas bila ssilka na etot document tak chto bi luboi mog otkrit' etot document

vadimiron 04-07-2007 14:48 608010

Цитата:

upload .doc failov na JSP
В интернете полно примеров - воспользуйьтесь одним из них
Или пользуйтесь готовым компонентом, например как нибудь Bean-ом. Один такой компонент

Ссылку на этот документ реаилизовать очень просто: сохраняйте документы в одну папку в пределах сайта и всё - потом давайте прямую ссылку

fgx1988 13-07-2007 08:46 612629

U menya zadachka rabotat' s jdbc.Kak mozhno na jsp sdelat' mail?Naprimer ti pishesh pismo i eto pismo prihodit po opredelennomu adresu i sohranyaetsya kak arhiv,kak na mail mozhno udalit' ,prochitat' soobsheniya i uvidet' chto est' novoe soobshenie.
Kakyu technologiu mozhno ispolzovat'.Est' li gotovie javabeani?

vadimiron 13-07-2007 11:48 612724

fgx1988
Сначало надо научиться работать с mail-ом: начните например с JavaMail API
Поучив это и разобравшись в том, за что отвечают основные функции, многие вопросы отпадут сами собой.
Само же приложение выглядит как обычное web-приложения: формы для ввода сообщений, кнопочки для роверки на наличин новых сообщений и тд.

Посмотрите примеры подобных приложений. Установите у себя какой нибудь пример и поразбирайтесь в коде, как что сделано - я думаю там всё очень просто.

Ещё надо знать название и предназночение основных протокол для mail. Такие вещи как SMTP, POP3, IMAP - должны быть поняты


Время: 13:56.

Время: 13:56.
© OSzone.net 2001-