Servlet实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(三)
1.MyEclipse | New Web Project :TestServlet01,修改index.jsp的代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<style>
body, div, td, input {font-size:18px; margin:0px; }
.line {margin:2px; }
</style>
</head> <body>
<form action="/TestServlet01/servlet/PostServlet" method="POST">
<div align="center">
<br/>
<fieldset style='width:60%'>
<legend>填写用户信息</legend>
<br/>
<div class='line'>
<div align="left">出发地:
<input type="text" id="start" name="start" style='font-size:18px' width=200/>
</div>
</div>
<div class='line'>
<div align="left">
<br/><input type="submit" name="Select" value="提交信息" style='font-size:18px'/><br/>
</div>
</div>
</fieldset>
</div>
</form>
</body>
</html>
2.src文件夹右键Add | Package :servlet
3.servlet的Package右键:New | Servlet (此时Web.xml中自然会增加对应的配置):PostServlet.java:
package servlet; import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class PostServlet extends HttpServlet { //自定义变量
private Connection connection = null; //定义数据库连接对象
private String driverName = "com.mysql.jdbc.Driver"; //数据库驱动器
private String userName = "root"; //数据库用户名
private String userPasswd = "123456"; //密码
private String dbName = "test01"; //数据库名称
private String tableName = "Train"; //表明
//连接字符串 数据库地址URL MySQL数据库端口3306
private String url = "jdbc:mysql://localhost:3306/" + dbName + "?user="
+ userName + "&password=" + userPasswd; //初始化方法
public void init(ServletConfig config) throws ServletException
{
super.init(config);
} public PostServlet() {
super();
} //处理GET请求方法
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setCharacterEncoding("UTF-8"); //设置输出编码
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html"); //设置输出类型
PrintWriter out = response.getWriter(); //获取out对象 try {
//数据库操作
Class.forName(driverName).newInstance();
connection = DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String startName = request.getParameter("start"); //获取出发地
//注意:startName需要加单引号 否则报错 ——错误:Unknown column 'BeiJing' in 'where clause'
String sql = "SELECT * FROM " + tableName +" WHERE startname='" + startName+"';";
if(startName=="") {
sql = "SELECT * FROM " + tableName;
}
ResultSet rs = statement.executeQuery(sql); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println(" <fieldset style='width:60%' ><legend>搜索结果</legend><br />");
out.println(" <TABLE align='center'border='1' cellspacing='1' cellpadding='1'>");
out.println(" <TR><TH>车号</TH><TH>出发地</TH><TH>到达地</TH></TR>");
//循环输出查询结果
while(rs.next()) {
out.println(" <TR><TD>" + rs.getString(1) + "</TD>");
out.println(" <TD>" + rs.getString(2) + "</TD>");
out.println(" <TD>" + rs.getString(3) + "</TD></TR>");
}
out.println(" </TABLE>");
out.println(" </fieldset>");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
rs.close(); // 关闭记录集
statement.close(); // 关闭声明 } catch(Exception e) {
System.out.println("错误:"+e.getMessage());
response.sendRedirect("index.jsp");
}
} //处理POST请求方法
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
} //销毁方法
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
try {
connection.close(); // 关闭连接对象
}catch(Exception e) {
System.out.println("关闭数据库错误:"+e.getMessage());
}
}
}
4.MySQL中新建表、增加记录:
use test01;
create table Train(id varchar(20) primary key,startname varchar(20),endname varchar(20)); insert train(id,startname,endname) values('T61','KunMing','BeiJing');
insert train(id,startname,endname) values('T62','BeiJing','KunMing');
insert train(id,startname,endname) values('T74','ChangSha','BeiJing');
insert train(id,startname,endname) values('T75','BeiJing','ChangSha');
insert train(id,startname,endname) values('T87','GuiYang','BeiJing');
insert train(id,startname,endname) values('T88','BeiJing','GuiYang');
5.效果:


注意:修改数据库的连接字符串(在PostServlet.java文件中)
本文引用自:http://blog.csdn.net/eastmount/article/details/45725077
Servlet实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(三)的更多相关文章
- Servlet实现表单提交(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(一)
1.MyEclipse|File|New|Project|Web Project 填写Project Name:exServlet,点选Java EE 6.0(配套Tomcat7.0) 2.代码 ...
- JSP_DAO方式实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(四)
1.项目结构: 2.创建数据库.表.插入记录 create database TestDao; use TestDao; create table student( stuid int, userna ...
- 动态网站项目(Dynamic Web Project)登录功能的实现(mvc(五层架构)+jdbc+servlet+tomcat7.0+jdk1.8)(js验证+cookie)
1.index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" p ...
- Java Axis2 1.6.3+JDK1.7.0_13+Tomcat7.0.65+eclipse搭建web service
安装文件下载: jdk1.7.0_13 安装步骤参考文章:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html tomcat7. ...
- 动态网站项目(Dynamic Web Project)CRUD(增删改查)功能的实现(mvc(五层架构)+jdbc+servlet+tomcat7.0+jdk1.8),前端使用JSP+JSTL+EL组合
代码分享链接 https://pan.baidu.com/s/1UM0grvpttHW9idisiqa6rA 提取码:hx7c 图示 项目结构 1.SelectAllUser ...
- tomcat7.0建立新的web服务目录
今天参照网上的配置方法配置了下tomcat的web服务目录,结果总是显示404错误,错误原因是The requested resource is not available.搜索了半天解决方法,终于发 ...
- Windows Tomcat7.0 安装 Solr
准备工作 1.下载Tomcat7.0 ,apache-tomcat-7.0.67.exe,安装目录如下:C:\workspace\Tomcat7.0\ 2.下载Solr 5.2,solr-5.2.0. ...
- eclipse 使用tomcat7.0建立Dynamic Web Project 时 web.xml的问题
最近使用Eclipse helios版本结合tomcat7.0建立动态的web项目时,发现在WEB-INF下的web.xml没有了. 解决方案: 建立web项目时,建到第三个下一步时,将 Genera ...
- Java Web的数据库操作(一)
一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与 ...
随机推荐
- 深度学习算法实践15---堆叠去噪自动编码机(SdA)原理及实现
我们讨论了去噪自动编码机(dA),并讨论了Theano框架实现的细节.在本节中,我们将讨论去噪自动编码机(dA)的主要应用,即组成堆叠自动编码机(SdA),我们将以MNIST手写字母识别为例,用堆叠自 ...
- 尝试使用Java6API读取java代码
主要类:JavaCompiler FileManager JavaCompiler .CompilationTaskAbstractProcessor参考代码https://today.java.n ...
- sublimeformaya
网上没有找到这样的插件自己造了一个 https://github.com/jonntd/connectionmaya 附件列表
- uboot 顶层makefile细节分析
uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局, ...
- vs2013调试崩溃,重启电脑依旧崩溃
如果大家遇到 VS断点调试程序崩溃的问题,可以排查是不是有这个问题 VSx新安装了插件 点击工具---扩展和更新 禁用最新安装的程序 一般就没有问题了
- Asp.Net MVC 使用FileResult导出Excel数据文件
MVC实现Excel导出功能,今天来记录一下. 采取了最简单的方法.(转载) 用的是Html拼接成Table表格的方式,返回 FileResult 输出一个二进制的文件. 第一种:使用FileCo ...
- 4070: [Apio2015]雅加达的摩天楼
Description 印尼首都雅加达市有 N 座摩天楼,它们排列成一条直线,我们从左到右依次将它们编号为 0 到 N−1.除了这 N 座摩天楼外,雅加达市没有其他摩天楼. 有 M 只叫做 “do ...
- hdu 2460
这是一道双联通分量的题,要用到LCA算法: 听说这个算法有两种实现方式:一个是dfs+线段树或着RMQ;一个是用tarjin: 我用的是tarjin: 题目比较简单,就是每次加了一条边之后剩下的桥的个 ...
- zImage和uImage的区别
http://blog.csdn.net/maojudong/article/details/4178118 zImage和uImage的区别 一.vmlinuz vmlinuz是可引导的.压缩的内核 ...
- 了解php的session_start的工作原理
一.php使用session_start开启SESSION 二.浏览器访问该php脚本时,将产生两个可能: 1.(客户端的提交的cookie没有找到PHPSESSID的键) 或 (在服务器端没有找到P ...