Loading ...
Sorry, an error occurred while loading the content.

Re: [riojug] Problema com classe URL

Expand Messages
  • Bruno Luiz Pereira da Silva
    Os jsps não devem ser colocados dentro do WEB-INF. O WEB-INF é para classes compiladas (no WEB-INF/classes) e bibliotecas (no WEB-INF/lib). Você até
    Message 1 of 2 , Mar 31, 2008
    • 0 Attachment
      Os jsps não devem ser colocados dentro do WEB-INF. O WEB-INF é para classes compiladas (no WEB-INF/classes) e bibliotecas (no WEB-INF/lib).

      Você até poderia talvez colocar no WEB-INF/classes os arquivos .class correspondentes aos seus jsps compilados, caso você compilasse eles previamente. Entretanto, acho melhor você colocá-los fora do WEB-INF mesmo. E sim, o ideal é você ter o mínimo possível de código no seu jsp, de preferência nenhum código. Eu sei que na prática isso às vezes é complicado, mas algumas taglibs conseguem te livrar de código no jsp sem deixar uma sopa tão feia.

      --
      Atenciosamente,

      Bruno Luiz Pereira da Silva
      blpsilva@...
      http://brunopereira.com.br

      2008/3/31 Ary Junior <aryjunior@...>:

      Ola! Numa aplicacao Web J2EE com Struts no Tomcat tenho meus arquivos .JSP dentro do WEB-INF com este path configurado no struts-config.xml e o controle do Struts trabalha numa boa. O problema e q dentro de uma taglib em um .JSP, eu recupero a string com o path q invocou este mesmo .JSP, incusive com os parametros passados como segue:

      HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
      String path = request.getRequestURI();
      Enumeration parameterNames = request.getParameterNames();
      String parameterName, parameters = "";
      while (parameterNames.hasMoreElements()) {
          parameterName = (String)parameterNames.nextElement();
          parameters += parameterName+'='+request.getParameter(parameterName)+'&';
      }               
      if (!parameters.equals("")) {
          path += '?' + parameters.substring(0, parameters.length()-1);
      }
      URL url = new URL(request.getScheme(), request.getServerName(), request.getServerPort(), path);

      Na sequencia, eu coloco este objeto URL criado na sessao e recupero-o em um servlet. Dentro do servlet, quando tento ler o conteudo HTML da URL:

      BufferedReader input = new BufferedReader(new InputStreamReader(urlc.getInputStream()));

      Tenho a seguinte excecao:

      java.io.FileNotFoundException: http://localhost:8080/TesteStruts/WEB-INF/jsp/welcomeStruts.jsp
      sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1239)
      com.aryjr.nheengatu.web.HTML2MServlet.processRequest(HTML2MServlet.java:60)
      com.aryjr.nheengatu.web.HTML2PDFServlet.doGet(HTML2PDFServlet.java:85)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

      Caso eu passe o meu .JSP para a raiz, fora do WEB-INF, tudo funciona corretamente. Li na especificacao ( http://jcp.org/en/jsr/detail?id=154 ) q no WEB-INF devem ser mantidas as informacoes privadas e na raiz tudo o q podera ser acessado pelo cliente ( HTML, JSP, imagens ). Sera q o WEB-INF como repositorio dos arquivos .JSP pode oferecer alguma seguranca? Ou o ideal mesmo e escrever o codigo Java apenas em taglibs, servlets e outras classes mantendo os arquivos .JSP na raiz.

      Muito obrigado!

      --
      -----------------------------------------------------------
      Ary Junior
      Sun Certified Java Programmer - SCJP 1.4
      Site: http://www.powerline.com.br/~aryjr/aryjr/
      -----------------------------------------------------------
      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Rio Java Users Group: http://www.riojug.org
      Moderadores: riojug-owner@yahoogroups.com
      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Outras listas do RioJUG:
      SCJP (groups.yahoo.com/group/scjp_riojug)
      SCWCD (groups.yahoo.com/group/scwcd_riojug)
      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Yahoo! Finance

      It's Now Personal

      Guides, news,

      advice & more.

      Need traffic?

      Drive customers

      With search ads

      on Yahoo!

      Yahoo! Groups

      How-To Zone

      Do-It-Yourselfers

      Connect & share.

      .

    Your message has been successfully submitted and would be delivered to recipients shortly.