Re:[Questão] SCWCD

3 respostas
rodrigo.bossini

Na jsp (tag useBean), o tipo está assim “com.bookstore.MusicCD” e a classe está assim : class=“com.bookstore.Book”.

O compilador JSP tentará gerar a seguinte linha:

com.bookstore.MusicCD bookorcd = new com.bookstore.Book();

O que claramente não compila já que Book não estende MusicCD.
Edit: Não compila quer dizer que o arquivo .java é gerado a partir da JSP, porém o compilador não consegue transformá-lo em um .class. Ou seja, a JSP nem consegue ser transformada em um Servlet.
Me corrijam se estiver errado.

3 Respostas

Nykolas_Lima

Vai dar uma exception em tempo de COMPILAÇÃO do JSP.

Em execução seria se no JSP ocorresse uma NullPointer por exemplo. Mas o Servlet NÃO chega a ser transformado em .class, portando é erro de compilação.

O JSP só ser compilado após a primeira requisição não torna o erro um erro de execução, porque ele ocorre na compilação e não na execução do JSP.

I
//in file Book.java
package com.bookstore;
public class Book
{
    private String isbn;
    public Book(){ isbn = "UNDEFINED_BOOK"; }
    public String getIsbn(){ return isbn; }
    public void setIsbn(String value){ this.isbn = value; }
}


//in file MusicCD.java
package com.bookstore;
public class MusicCD
{
    private String isbn;
    public MusicCD(){ isbn = "UNDEFINED_CD"; }
    public String getIsbn(){ return isbn; }
    public void setIsbn(String value){ this.isbn = value; }
}

Code for browse.jsp:
<jsp:useBean  class="com.bookstore.Book" type="com.bookstore.MusicCD" id="bookorcd" />
<jsp:getProperty name="bookorcd" property="isbn" />

What is printed in the generated response of browse.jsp?

Select 1 correct option.

UNDEFINED_BOOK


UNDEFINED_CD


It will not compile


It will compile but will give an exception at request time.

Eu escolhi a ultima, vai compilar mas vai dar erro, mas ao final do simulado a resposta correta é não vai compilar, porque? Essa jsp não seria compilada e traduzida para um servlet na fase de Tradução? Então a resposta correta seria vai compilar mas vai dar erro pois Book não extend a Music.

I

Vc esta certo, contudo, o jsp só será compilado na fase de Tradução, ou seja, quando alguem acessar aquele jsp pela primeira vez, portanto, erro vai da mas a questão é quando! :slight_smile:

Criado 27 de janeiro de 2010
Ultima resposta 27 de jan. de 2010
Respostas 3
Participantes 3