Duvida Sobre o WorkDir

2 respostas
joao.junior

Fiz este teste.
Hello.jsp

<HTML>
<BODY>
<% String visitor = request.getParameter("name");
if (visitor == null) visitor = "Mundo"; %> Olá, <%= visitor %>!
</BODY>
</HTML>

Dai no meu Eclipse no diretorio do projeto em “/work/org/apache/jsp/” ele gerou um codigo
Hello.java e um Hello.class

package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class hello2_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static java.util.Vector _jspx_dependants;

  public java.util.List getDependants() {
    return _jspx_dependants;
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("<HTML>\r\n");
      out.write("\t<BODY>\r\n");
      out.write("\t\t");
      web.HelloBean hello = null;
      synchronized (_jspx_page_context) {
        hello = (web.HelloBean) _jspx_page_context.getAttribute("hello", PageContext.PAGE_SCOPE);
        if (hello == null){
          hello = new web.HelloBean();
          _jspx_page_context.setAttribute("hello", hello, PageContext.PAGE_SCOPE);
        }
      }
      out.write("\r\n");
      out.write("\t\t");
      org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(_jspx_page_context.findAttribute("hello"), "name", request.getParameter("name"), request, "name", false);
      out.write("\r\n");
      out.write("\t\tOlá, ");
      out.write(org.apache.jasper.runtime.JspRuntimeLibrary.toString((((web.HelloBean)_jspx_page_context.findAttribute("hello")).getName())));
      out.write("!\r\n");
      out.write("\t</BODY>\r\n");
      out.write("</HTML>\r\n");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
      }
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}

Notei que ele usa o “out.write(”");" para imprimir.

Agora é que vem a pergunta,
È o java que imprime meu codigo HTML?
Ele gasta processamento do meu interpretador JAVA la do servidor com HTML?
Não era pro HTML passar Direto e Ser processado somente no Browser do usuario?

Por favor to começando agora em java, mas se o for o java que imprime meu HTML num compensa.

:slight_smile:

2 Respostas

T

Neste caso é sim. (Se você tivesse usado a extensão .html em vez de .jsp ele não faria isso; ele deixaria isso a encargo do web server, se você usar uma combinação Apache + Tomcat, ou IBM HTTP Server + WebSphere, ou Apache + Oracle Application Server etc. Só que aí então ele não iria processar as tags <% %>)

Gasta.

Uai, o HTML passa e é processado no browser do usuário. Não entendi direito o que você está imaginando.

Por favor to começando agora em java, mas se o for o java que imprime meu HTML num compensa.

:)


É claro que não compensa, por isso é que normalmente você tem de fazer o seguinte:

  • Para as páginas estáticas, usar a extensão .html e instalá-las na parte estática do seu site, para que o Apache ou outro web server as envie para você;
  • Nas suas páginas JSP, usar um monte de CSS, para reduzir a quantidade de tags HTML a serem enviadas.
  • Dependendo do seu problema, usar AJAX, que reduz a quantidade de dados que são enviados pelo web server.
joao.junior

Valew Kara,
Atualmente trabalho com o php e é bem mais simples. Vou estudar mais sobre javaWeb quem sabe eu mude pra java.

Valew pelos Esclarecimentos

Criado 29 de junho de 2006
Ultima resposta 30 de jun. de 2006
Respostas 2
Participantes 2