/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package yy.com;import java.io.*;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;import javax.servlet.*;
import javax.servlet.http.*;/**
*
* @author hyl
* @version
*/
public class SendMail extends HttpServlet { /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String host ="127.0.0.1" ;
String from="[email protected]";
String to="[email protected]";
String subject="try";
String content="just try it"; try{
//变量声明
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
//装载JDBC驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//连接数据库
sqlCon = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/mail","root","102686");
//创建语句对象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//执行SQL语句并获取结果集
java.sql.PreparedStatement preparedStmt=null; //语句对象
preparedStmt =sqlCon.prepareStatement("select state,come,to,subject,content from mail where state like ?");
//设置参数
preparedStmt.setString(1,"0"); //执行Sql语句
sqlRst=preparedStmt.executeQuery (); int intRowCount = sqlRst.getRow();
if(intRowCount>0){
from = sqlRst.getString(2);
to=sqlRst.getString(3);
subject= sqlRst.getString(4);
content=sqlRst.getString(5);
sqlRst.next();
intRowCount--;
}
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close(); Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", host);
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(from));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
newMessage.setSubject(subject);
newMessage.setSentDate(new Date());
newMessage.setText(content);
Transport.send(newMessage);
////显示发送成功的提示
out.println(" the Email send sucess!");
}catch(Exception m) {
out.println(m.toString());
} } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}运行报错:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to,subject,content from mail where state like '%0%'' at line 1
有没有人可以帮忙啊?谢谢谢谢··
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package yy.com;import java.io.*;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;import javax.servlet.*;
import javax.servlet.http.*;/**
*
* @author hyl
* @version
*/
public class SendMail extends HttpServlet { /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String host ="127.0.0.1" ;
String from="[email protected]";
String to="[email protected]";
String subject="try";
String content="just try it"; try{
//变量声明
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
//装载JDBC驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//连接数据库
sqlCon = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/mail","root","102686");
//创建语句对象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//执行SQL语句并获取结果集
java.sql.PreparedStatement preparedStmt=null; //语句对象
preparedStmt =sqlCon.prepareStatement("select state,come,to,subject,content from mail where state like ?");
//设置参数
preparedStmt.setString(1,"0"); //执行Sql语句
sqlRst=preparedStmt.executeQuery (); int intRowCount = sqlRst.getRow();
if(intRowCount>0){
from = sqlRst.getString(2);
to=sqlRst.getString(3);
subject= sqlRst.getString(4);
content=sqlRst.getString(5);
sqlRst.next();
intRowCount--;
}
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close(); Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", host);
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(from));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
newMessage.setSubject(subject);
newMessage.setSentDate(new Date());
newMessage.setText(content);
Transport.send(newMessage);
////显示发送成功的提示
out.println(" the Email send sucess!");
}catch(Exception m) {
out.println(m.toString());
} } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}运行报错:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to,subject,content from mail where state like '%0%'' at line 1
有没有人可以帮忙啊?谢谢谢谢··
解决方案 »
- 关于web service的一些问题
- servlet 删除cookie失败
- spring最简单的问题,sessionFactory无法注入
- oracle里如何将一张表的数据导入另外一张表?
- hibernate if语句问题
- 红叶java乐园 讨论struts开发,elcipse使用,idea使用
- 在安装JDK1.5.0之后安装tomcat5.5不成功
- 怎样显示文件的绝对路径?
- 为什么我的weblogic控制台左边的资源树无法显示?
- 刚学完spring2.0+hibernate3.2+struts1.2,才想到这些是不是过时了?
- 项目中有个日志管理,如何让用户在执行操作时生成日志呢?
- 请问大家java是自学的还是参加培训学校学的。
Mysql语法错误的异常,你的SQL语句有问题,请检查~!
preparedStmt =sqlCon.prepareStatement("select state,come,to,subject,content from mail where state like ?");
//设置参数
preparedStmt.setString(1,"0"); //执行Sql语句
sqlRst=preparedStmt.executeQuery ();这块可能有点问题吧? 你用PrepareStatement为什么还要用Statementa ?
我想
preparedStmt =sqlCon.prepareStatement("select state,come,des,subject,content from yymail where state like ?")
preparedStmt.setString(1,"0");
//执行Sql语句
sqlRst=preparedStmt.executeQuery (); int intRowCount = sqlRst.getRow();
用 intRowCount获取 符合查询条件的记录数目,可是为什么查询结果总是 0 条啊?????谢谢大家 谢谢大家······
from = sqlRst.getString(2);
to=sqlRst.getString(3);
subject= sqlRst.getString(4);
content=sqlRst.getString(5);
sqlRst.next();
intRowCount--;
}这段程序想实现 获取 查询结果的 每个属性值,分别赋值给每个String变量 可是 执行还是有问题······
以上着两个问题 摆脱大家帮帮忙啊······