13Servlet技术全解.ppt

13Servlet技术全解

qry = SELECT number,code,score from chengji WHERE code=3001 进行URL编码如下: String qry = URLEncoder.encode(qry,UTF-8) + = + URLEncoder.encode(qryString,UTF-8); 建立连接时,注意将DbServlet配置到路径D:\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\classes下。 String str = 3:8080/Servlet/DbServlet; URL urlName = new URL(str); 打开连接。 URLConnection uc = urlName.openConnection(); 设置参数。 uc.setDoOutput(true); uc.setDoInput(true); uc.setUseCaches(false); uc.setRequestProperty(Content-type,application/x-www-form-urlencoded); 得到数据流发送格式转换后的POST请求 。 DataOutputStream dos = new DataOutputStream(uc.getOutputStream()); dos.writeBytes(qry); 在DbServlet中接收数据并进行解码。 String qry = req.getParameter(qry); qry = URLDecoder.decode(qry,UTF-8); 【例13.2】编写Applet和Servlet交互的程序,使得用户在Applet界面(见图13.5)上输入数据库查询语句,单击“查询”按钮后,后台Servlet接收请求,对后台数据库进行查询,并将查询结果返回到Applet界面的文本区域内。 图13.5 Applet用户界面 图13.6 Applet和Servlet交互原理图 13.4.1 Servlet文件 首先书写查询数据库的Servlet文件,编译通过后配置到上面提到的路径。 //程序文件名DbServlet.java import javax.Servlet.*; import javax.Servlet.http.*; import java.util.*; import java.sql.*; import java.io.*; import .*; public class DbServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { PrintWriter out = res.getWriter(); res.setContentType(text/html;charset=GB2312); //得到Applet请求参数,解码后输出 String qry = req.getParameter(qry); qry = URLDecoder.decode(qry,UTF-8); out.println(qry); Connection dbCon = null; try { //同数据库建立连接 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String dbURL = jdbc:odbc:STU; dbCon = DriverManager.getConnection(dbURL,,); PreparedStatement p = dbCon.prepareStatement(qry); ResultSet rs = p.executeQuery(); //输出查询结果 while(rs.next()) { out.print(rs.getString(1)); out.print(rs.getString(2) + ); out.println(rs.getInt(3)); } } catch(Exception e) { out.println(读写数据库出错: + e.getMessage()); } fina

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档