configuração de <servlet-class> do web.xml

26 respostas
Ticianne

Por favor, alguem pode me dizer como eu posso configurar a tag do meu web.xml pra ele achar onde esta o .class do servlet??

:smiley: :smiley:

26 Respostas

K

Olá Ticianne,

Coloque na tag servlet, informando em <servlet-name> o nome do servlet e em <servlet-class> o caminho do servlet com o pacote.

Faça isso também em <servlet-mapping>, como no exemplo abaixo:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <servlet>
        <servlet-name>Teste</servlet-name>
        <servlet-class>seupacote.Teste</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Teste</servlet-name>
        <url-pattern>/Teste</url-pattern>
    </servlet-mapping>

</web-app>
Ticianne

minha duvida é exatamente como escrever isso, porque , a principio, nao tenho um pacote…

Ticianne

haveria, nao sei, um endereço padrao que eu pudesse utilizar??

K

Endereço vc diz um pacote padrão?

B

Se vc tiver uma classe X, sem pacote, coloque-a dentro de WEB-INF/classes.

Depois, no servlet-class, escreva apenas X. Acho que deve funcionar.

Mas pq vc não cria uma estrutura de pacotes para organizar seu projeto?

Abraço.

K

Ticianne:
minha duvida é exatamente como escrever isso, porque , a principio, nao tenho um pacote…

Coloque sem o pacote, só com o nome da classe mesmo.
Mas pq vc não cria um pacote simples para sua aplicação? Fica mais profissional.

Ticianne

pois é, estou tentando desse jeito msm mas nao ta funcionando...

olha so:
<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
 version="2.4">
	<display-name>teste de conexao ao banco de dados</display-name>
	<description>
		Descritor do contexto de desenvolvimento.
	</description>

	<servlet>
		<servlet-name>conectBD</servlet-name>
		<servlet-class>
			conectBD
		</servlet-class>
		
		<init-param>
			<param-name>dataBaseName</param-name>
			<param-value>jdbc:mysql://localhost/tabela</param-value>
		</init-param>
		<init-param>
			<param-name>userName</param-name>
			<param-value>root</param-value>
		</init-param>
		<init-param>
			<param-name>password</param-name>
			<param-value>rootlar</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>conectBD</servlet-name>
		<url-pattern>*.class</url-pattern>
	</servlet-mapping>
	
	<servlet-mapping>
		<servlet-name>conectBD</servlet-name>
		<url-pattern>/conectBD</url-pattern>
	</servlet-mapping>
</web-app>
Ticianne

se eu criar um pacote , onde posso colocá-lo??

solto dentro da pasta do projeto?? ou dentro de web-inf/classes??

ou so web-inf??

K

Ticianne:
pois é, estou tentando desse jeito msm mas nao ta funcionando…

Em qual diretório esta o seu arquivo *class?

Ticianne

esta em web-inf/classes

e o servlet esta em web-inf/src

K

Ticianne:
se eu criar um pacote , onde posso colocá-lo??

solto dentro da pasta do projeto?? ou dentro de web-inf/classes??

ou so web-inf??

Se vc tiver um pacote assim:

package app.ticianne;

As suas classes devem estar no diretório:

WEB-INF/classes/app/ticianne

kaique

Coloca o pacote no mesmo lugar onde esta a sua classe…que provavelmente esta dentro de WEB-INF/classes…:slight_smile:

Vlw!!

Ticianne

ok, ainda com o pacte nao deu certo…

no browser ele da aquele terrivel erro 404 que diz

type Status report

message /Conection/servlet/conectBD

description The requested resource (/Conection/servlet/conectBD) is not available.

kaique

E como tu tah colocando o pacote na tag???
usando pontos ou as barras???
E otra…qd tu colocou antes o teu xml aki…o nome da tua classe tava com a primeira letra minuscula…verifica mermo se a tua classe tah assim…pode ser por isso tb q nao tah encontrando a classe…

Vlw!!!

Ticianne

ta minuscula mesmo e to usando os pontos, ora…

é pra colocar barras ?!?!?! :shock: :shock: :shock:

Ticianne

Ai ai ai… acho que num vou acessar mesmo, esse servlet…

:frowning:

K

Ticianne:
Ai ai ai… acho que num vou acessar mesmo, esse servlet…

:(

Calma… vai sim. Estou só fazendo um teste aqui. Espera ai.

K

Ticianne:
ok, ainda com o pacte nao deu certo…

no browser ele da aquele terrivel erro 404 que diz

type Status report

message /Conection/servlet/conectBD

description The requested resource (/Conection/servlet/conectBD) is not available.

Estava testando executar um Servlet sem pacote só para desencargo para ver se dava certo e DEU.

O lance acho que esta na url que vc esta chamando, veja o erro:

message /Conection/servlet/conectBD

Tire aquela palavra “servlet” da url, exedcute assim:

http://localhost:8080/Conection/conectBD

Ticianne

:slight_smile:

K

Isso quer dizer que deu certo? :slight_smile:

Ticianne

nao, isso quer dizer que to esperando seu teste.

hehe

Ticianne

nao…

mas pra executar um servlet eu preciso colocar isso, senao ele nao executa nunca…

mas mesmo assim testei e assim tambme num da

K

Ticianne:
nao, isso quer dizer que to esperando seu teste.

hehe

Então…

Só estava testando executar um Servlet sem pacote só para ter certeza que dava certo, e deu certo. O problema não é por ele não ter um pacote, a sua configuração inicial estava correta.

Notei diferente a forma que vc esta chamando seu servlet no browser.

veja o erro:

message /Conection/servlet/conectBD

Tire aquela palavra “servlet” da url, execute assim:

http://localhost:8080/Conection/conectBD

Teste lá e diga como foi :slight_smile:

K

Ticianne:
nao…

mas pra executar um servlet eu preciso colocar isso, senao ele nao executa nunca…

mas mesmo assim testei e assim tambme num da

Não tem essa necessidade se vc tiver dentro do webapps uma pasta para sua aplicação.

Ticianne

é, mesmo assim…

o servlet ta em : C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\webapps\Conection\WEB-INF\src\app\ticianne

ou seja, devia funcionar com http://lyra:8080/Conection/conectBD

como vc disse.

ou com http://lyra:8080/Conection/servlet/conectBD

mas ele continua da ndo o mesmo erro:

HTTP Status 404 - Servlet conectBD is not available

type Status report

message Servlet conectBD is not available

description The requested resource (Servlet conectBD is not available) is not available.
Apache Tomcat/5.5.17

o web.xml ta la.

configurado.

E agora… o que mais poderia ser!!!
:frowning:

K

A principio esta tudo ok com a configuração.
Se quiser, compacta o projeto e manda no meu e-mail que dou uma verificada aqui e tento indentificar pq não funciona.

Criado 13 de julho de 2006
Ultima resposta 13 de jul. de 2006
Respostas 26
Participantes 4