из PHP в JSP
Модератор: Absurd
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
AiK,
Прекрасно, а откуда будет вызываться stupidMethod?
Я догадывался, что именно "main", может и не нужен, но куда вписать следующую строку?
StupidClass.stupidMethod(new String(request.getParameter("v").getBytes("windows-1251")));
обычно есть main
для Threads есть run или start, кажется..
Я предполагал, что и для JSP файлов должно нечто подобное быть..
Функция, которая будет первой выполнена, при обращении к JSP файлу ..
Прекрасно, а откуда будет вызываться stupidMethod?
Я догадывался, что именно "main", может и не нужен, но куда вписать следующую строку?
StupidClass.stupidMethod(new String(request.getParameter("v").getBytes("windows-1251")));
обычно есть main
для Threads есть run или start, кажется..
Я предполагал, что и для JSP файлов должно нечто подобное быть..
Функция, которая будет первой выполнена, при обращении к JSP файлу ..
Куда угодно в странице в угловых скобках с процентиком. Более того, страница может не содержать ни единой строчки Java кода и при этом изюмительно работать. Как, спросишь ты? А очень просто, отвечу я. При первом обращении к странице из неё будет изготовлен сервлет, и все последующие вызовы будут перенаправляться к этому сервлету. Сервлет, это что-то наподобие аплета. Только аплет живёт в браузере, а сервлет - в контейнере сервлетов (сорри за масло-масляноекуда вписать следующую строку

Итак, если ты объявишь в JSP собственный класс с методом main, то никто кроме тебя его вызывать не будет. В аплете ты можешь тоже имплементировать метод main и запустить его как обычное java-приложение. Но в браузере вызова метода main не произойдёт, если только ты сам его не выполнишь...
Ежели ты просто попытаешься объявить метод main внутри JSP страницы, то это будет ошибкой - сервлет из неё не скомпилится.
Даже самый дурацкий замысел можно воплотить мастерски
Дали еще один вариант.
Код: Выделить всё
<%@ page import="java.io.*" session="false"%>
<%
final String filename = "data.txt";
final String parameterEncoding = "windows-1251";
final String fileEncoding = "windows-1251";
try {
request.setCharacterEncoding(parameterEncoding);
String text = request.getParameter("v");
PrintWriter writer = new PrintWriter(
new OutputStreamWriter(
new FileOutputStream(filename), "windows-1251"));
writer.print(text);
writer.close();
} catch (Exception e) {
}
%>
Да "Дали" - добрые люди ((
И тоже не работает ((
А сервер вообще JSP поддерживает! (( (по утверждению тех отдела провайдера)
И тоже не работает ((
А сервер вообще JSP поддерживает! (( (по утверждению тех отдела провайдера)
Aik, не читал твой пост целиком (лень было), но с певых строчек понял, что ты расписываешь сервлет, а не jsp.Oscar писал(а):uncledm,
"Дали" - добрые люди? ))
И что - тоже не работает? ))
А сервер вообще JSP поддерживает? ))
<?php
$text=$HTTP_POST_VARS["v"];
$file=fopen("data.txt","w+");
@fwrite ($file, $text);
@fclose ($file);
?>
переписывается так:
index.jsp
====================================
<%@ page contentType="text/html; charset=windows-1251"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%
String text = request.getParameter("v");
PrintWriter f = new PrintWriter(new FileWriter("data.txt"));
f.println(text);
f.close();
%>
====================================
полученный файл (все, что между знаками =====) сохраняется и кидается на сервер. причем кинуть его надо в определенное место, админ должен сказать куда (зависит от платформы).
скомпилится, только его надо будет объявлять так (обязателен символ '!'):AiK писал(а):Ежели ты просто попытаешься объявить метод main внутри JSP страницы, то это будет ошибкой - сервлет из неё не скомпилится.куда вписать следующую строку
<%!
public static void main(String[] args) { }
%>
вызываться естественно не будет. автоматически вызывается только то, что заключено в <% %>.
Deady, про восклицательный знак не знал, 10х.

Так jsp суть сервлет, разве не так?ты расписываешь сервлет, а не jsp

Даже самый дурацкий замысел можно воплотить мастерски
ну да, только если знаешь что такое сервлет и заешь про doGet и doPost (объединяет их кстати doRequest). а если не знаешь и необходимо всего-то лишь решить такую маленькуб задачу, то можно мыслить jsp не как сервлет, а как php скрипт - проще будет.