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程序与 ...
随机推荐
- 文字以及div水平垂直居中
文字以及div水平垂直居中.md <div class=”content”> <div class=”mydiv”> huangyingnin! </div>< ...
- 禁止选择文本和禁用右键 v1.0
var zhonghao={ //绑定事件 myAddEvent: function(obj, sEvent, fn){if(obj.attachEvent){obj.attachEvent('on' ...
- #Leet Code# Populating Next Right Pointers in Each Node II
描述:注意需要先self.connect(right)再self.connect(left),否则会有case通不过,原因是左边递归执行时依赖与右边的next已经建立,而先执行connect(left ...
- docker安装caffe
[最近一直想要学习caffe,但是苦苦纠结于环境安装不上,真的是第一步都迈不出去,还好有docker的存在!下面,对本人如何利用docker安装caffe做以简单叙述,不属于教程,只是记录自己都做了什 ...
- int 占一个机器字长
int与short int是不一样的. C++标准规定,int占一个机器字长.在32位系统中int占32位,也就是4个字节, 而在老式的16位系统中,int占16位,即2个字节. 而C++标准中只限制 ...
- matplotlib 显示中文
# --*-- coding: utf-8 --*-- from matplotlib.font_manager import FontProperties import matplotlib.pyp ...
- uva 11992 - Fast Matrix Operations
简单的线段树的题: 有两种方法写这个题,目前用的熟是这种慢点的: 不过不知道怎么老是T: 感觉网上A过的人的时间度都好小,但他们都是用数组实现的 难道是指针比数组慢? 好吧,以后多用数组写写吧! 超时 ...
- C盘瘦身,可以让你的电脑C盘恢复到刚安装时的大小
@echo offecho 正在清理系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpde ...
- 李洪强漫谈iOS开发[C语言-028]-逗号表达式
- 使用php-emoji类让网页显示emoji表情
需要的材料: php-emoji类库的下载地址:https://github.com/iamcal/php-emoji 代码示例:(该代码来自官网) <?php include('emoji.p ...