Problema na minha web.xml. Como definir o param value corretamente com RestFul service

Ola meus caros tenho um problema que acho que deve ser bem simples para os mais experientes,é algo assim, na minha web.xml mais exclusivamente no param value a seguinte notação :
<param-value>org.ww;org.codehaus.jackson.jaxrs</param-value>
Onde na org.ww é o caminho da onde esta o diretorio teste com todas as classes javas que são utilizadas na minha aplicação, ao colocar todas as classes juntas consigo fazer funcionar por isso criei esse pacote org.ww.directory mas quando coloco separado em outro pacote a aplicação começa a apresentar erros, no caso queria dividir essas classes em pacotes como pacote DAO, Modelo,Util e Service, como posso fazer a anotação na minha web.xml?
Ja tenho os pacotes criados que seria org.directory.DAO e etc… Mas estou usando o diretorio org.ww.directory onde todas as classes javas estão juntas, ja tentei colocar na <param-value>org.directory;org.codehaus.jackson.jaxrs</param-value> ja que a anotação que esta funcionando não tive necessidade de colocar o caminho inteiro do diretorio pensei que colocando só org.directory funcionaria ja que a aplicação poderia acessar o depois do directory ou seja a DAO, Modelo e as outras demais mas não funcionou, o que pode ser feito?

como esta meu src em imagem:

Minha web.xml completa que esta funcionando atualmente.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>funcionario</display-name>

<servlet>
	<servlet-name>Jersey</servlet-name>
	<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
	<init-param>
  		<param-name>com.sun.jersey.config.property.packages</param-name>
  		<!-- O param value é muito importante que seja definido corretamente apenas parte do diretorio da onde esta os codigos da aplicação -->
		<param-value>org.ww;org.codehaus.jackson.jaxrs</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>Jersey</servlet-name>
	<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

</web-app>

Boa tarde Wesley,

Exemplo:

Seus pacotes:

  • org.directory.dao
  • org.directory.model
  • org.directory.util
  • org.directory.resources

Acho que seria interessante você só especificar o pacote onde esta o seus recursos. (FuncionarioResource)

<servlet>
	<servlet-name>Jersey</servlet-name>
	<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
	<init-param>
  		<param-name>com.sun.jersey.config.property.packages</param-name>
                <param-value>org.directory.resources</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>Jersey</servlet-name>
	<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

Mas acredito que se você colocar dessa forma os recursos que estão neste pacote ou em seus “filhos” vão funcionar.

<init-param>
     <param-name>com.sun.jersey.config.property.packages</param-name>
     <param-value>org.directory</param-value>
</init-param>

Espero ter contribuído,

Boa sorte.

1 curtida

Então, ja tinha feito dessa maneira, pois pensei que iria entrar nos outros pacotes se eu adiciona-se org.directory mas mesmo assim não funcionou. da o erro 500 do lado cliente, no caso coloquei na minha JS para chamar o caminho
http://localhost:8080/TCC01/rest/funcionarios ; poderia estar aqui o erro?
Se for necessario posso colocar o log do erro.

Wesley,

O log do erro ajuda bastante.

Boa noite Wesley,

Não conseguir identificar o problema, da uma olhada nesse link e faz o primeiro tutorial utilizando a implementação Jersey e aplica no seu projeto.

https://www.mkyong.com/tutorials/jax-rs-tutorials/

Boa sorte,

1 curtida

Ainda não testei o que foi sugerido por voce, mas dando umas olhadas aqui consegui parcialmente resolver o problema esse Log indica que tem recursos do Rest que não estou utilizando mas esta sendo chamado nas minhas classes Resource ou algo assim pelo menos varias pessoas que tiveram esse erro foi o caso, então o que fiz foi o seguinte coloquei em outra pasta todas as classes que são resource menos uma que foi como base de teste, quando rodei a minha index puxou os dados tudo certinho referente a esta classe, no caso a classe Funcionario.

Testando mais a fundo percebi que algumas classes consigo colocar no mesmo pacote sem problemas outras, volta com o mesmo erro agora o por que preciso vasculhar codigo por codigo, pelo menos sei que o problema aparentemente não é na Web.xml e nem nos outros pacotes, mas vlw ai pela super ajuda e obrigado pelo link vai ser de muita ajuda ja até salvei nos favoritos.