Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Java Server Pages, JDBC: Все вопросы

Ответить
Настройки темы
Java Server Pages, JDBC: Все вопросы

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120


Конфигурация

Профиль | Отправить PM | Цитировать


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

Отправлено: 22:16, 04-02-2006

 

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


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

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 00:32, 06-03-2006 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


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

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

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

-------
Fortes fortuna adiuvat


Отправлено: 01:22, 06-03-2006 | #12

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


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


Отправлено: 13:05, 06-03-2006 | #13


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


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

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 13:42, 06-03-2006 | #14


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Если кто будет начинать учить, то вот простенькая гостевая книга на 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();
%>

Последний раз редактировалось vadimiron, 12-04-2006 в 22:01.


Отправлено: 02:12, 22-03-2006 | #15


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


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

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 10:45, 22-03-2006 | #16


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 12:47, 12-04-2006 | #17


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


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

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 14:34, 12-04-2006 | #18


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 14:57, 12-04-2006 | #19


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 20:09, 12-04-2006 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Java Server Pages, JDBC: Все вопросы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Антивирусы - Avast! .:[Все вопросы]:. Guest Защита компьютерных систем 137 08-02-2016 12:26
Info - IP - INFO [Все вопросы] gurWin Защита компьютерных систем 221 16-12-2010 14:02
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. Microsoft Windows 2000/XP 105 30-06-2010 11:58
Мультимедиа - mp3DirectCut .:[ обсуждение всех версий ]:. SuperMaximus Программное обеспечение Windows 16 13-08-2007 16:23




 
Переход