olá, sou novo em java e servlet, e gostaria de fazer um simples formulario, onde a pessoa coloca somente o email, e ele manda um email pra essa pessoa com um texto pré definido, tem algum tutorial bom sobre isso ou podem me ajudar aqui mesmo?
Então, cara não deu certo, ele da erro no Session, diz que não acha, mas eu importei o javax.mail, pq acontece isso?
O ideal é você postar o seu código completo, o erro e o stacktrace completo para que possamos analisar melhor.
Abraços.
SEVERE: Allocate exception for servlet com.br.umpulo.select
java.lang.ClassNotFoundException: javax.mail.Session
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(DefaultInstanceManager.java:276)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:125)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
erro 500:
exception
javax.servlet.ServletException: Error instantiating servlet class com.br.umpulo.select
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:680)
root cause
java.lang.NoClassDefFoundError: Ljavax/mail/Session;
java.lang.Class.getDeclaredFields0(Native Method)
java.lang.Class.privateGetDeclaredFields(Class.java:2291)
java.lang.Class.getDeclaredFields(Class.java:1743)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:680)
codigo servlet:
public class select extends HttpServlet {
private static final long serialVersionUID = 1L;
private Session session;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String email = request.getParameter("email");
String senha = request.getParameter("senha");
String login = request.getParameter("login");
if (login.equals("teste") && senha.equals("senha")) {
out.println("Seleção<br>");
} else {
out.println("tente outra vez<br>");
Properties p = new Properties();
p.put("mail.host", "smtp2.locaweb.com.br");
Session session = Session.getInstance(p, null);
MimeMessage msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress("teste@gmail.com"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("teste@teste.com.br"));
msg.setSentDate(new Date());
msg.setSubject("assunto da mensagem");
msg.setText("corpo da mensagem");
Transport.send(msg);
}
catch (AddressException e) {
}
catch (MessagingException e) {
}
}
}
Oi.
Use as tags code para edentar seu código colega.
Adicionou no lib do seu container web ou no web-inf do seu projeto as libs do Javamail ?
Pois ele simplesmente não as encontra.
desculpe :oops:
Sim, eu adicionei em java build path, a lib mail.jar, quais os motivos dele não encontrar?
[quote=myroks]desculpe :oops:
Sim, eu adicionei em java build path, a lib mail.jar, quais os motivos dele não encontrar? [/quote]
Isso fará ele reconhecer a classe em tempo de compilação mas não em tempo de execução.
Adicione no lib do seu container web que ele vai encontrar sem problemas
Abraços.
Como adicionar no container web? :? :oops:
Poderia dar uma pesquisa hein colega?
Qual container web tu usa?
Se for tomcat copia os jar´s lá para o: /WEB-INF/lib