web页面和数据库连接

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
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.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class UserInfoServlet
*/
@WebServlet("/UserInfoServlet")
public class UserInfoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

private List<UserInfo> userInfos = new ArrayList<UserInfo>();

/**
* @see HttpServlet#HttpServlet()
*/
public UserInfoServlet() {
super();
// TODO Auto-generated constructor stub
}

@Override
public void init(ServletConfig config) throws ServletException {
/* 通过Servlet初始化配置获取JDBC连接参数 */
String dbDriver = config.getInitParameter("DB_DRIVER");
String dbURL = config.getInitParameter("DB_URL");
String dbUser = config.getInitParameter("DB_USER");
String dbPassword = config.getInitParameter("DB_PASSWORD");

/* 通过JDBC从数据库userinfo表中获取用户信息 */
// 数据库连接对象引用
Connection connection = null;
// 声明对象引用
Statement statement = null;
// 结果集对象引用
ResultSet resultSet = null;
// 第一步:加载JDBC驱动程序
try {
Class.forName(dbDriver);
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类,加载驱动失败!");
e.printStackTrace();
}

// 第二步:创建数据库连接
try {
connection = DriverManager.getConnection(dbURL, dbUser, dbPassword);
} catch (SQLException e) {
System.out.println("数据库连接失败!");
e.printStackTrace();
}

// 第三步:创建执行SQL语句的声明对象
try {
statement = connection.createStatement();
} catch (SQLException e) {
System.out.println("获取SQL语句状态对象错误!");
e.printStackTrace();
}

// 第四步:执行SQL语句
try {
resultSet = statement.executeQuery("select * from userinfo");
} catch (SQLException e) {
System.out.println("执行SQL语句错误!");
e.printStackTrace();
}

// 第五步:处理执行结果
try {
while (resultSet.next()) {
// 获取用户信息
String id = resultSet.getString("userid");
String password = resultSet.getString("password");
String email = resultSet.getString("email");
String name = resultSet.getString("name");
String phone = resultSet.getString("phone");

// 将用户信息封装到UserInfo对象实例中
UserInfo userInfo = new UserInfo();
userInfo.setId(id);
userInfo.setPassword(password);
userInfo.setEmail(email);
userInfo.setName(name);
userInfo.setPhone(phone);
// 将UserInfo实例存放到容器中
userInfos.add(userInfo);
}
} catch (SQLException e) {
System.out.println("从结果集获取数据错误");
e.printStackTrace();
}

// 第六步:关闭JDBC所有对象
try {
if (resultSet != null) {
resultSet.close();
}

if (statement != null) {
statement.close();
}

if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}

super.init(config);
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();// 准备输出
out.println("<!DOCTYPE html>");
out.println("<html>"); // 输出HTML元素
out.println("<head lang=\"en\">"); // 输出HTML元素
out.println("<meta charset=\"UTF-8\">");
out.println("<title>显示用户信息</title>"); // 输出HTML元素
out.println("</head>"); // 输出HTML元素
out.println("<body>"); // 输出HTML元素

//填充用户信息
out.println("<table border=1>");
out.println("<tr>");
out.println("<th>用户ID</th>");
out.println("<th>用户名</th>");
out.println("<th>用户密码</th>");
out.println("<th>用户电话</th>");
out.println("<th>用户邮箱</th>");
out.println("</tr>");
for (UserInfo userInfo : userInfos) {
System.out.println(userInfo);
out.println("<tr>");
out.println("<td>"+userInfo.getId()+"</td>");
out.println("<td>"+userInfo.getName()+"</td>");
out.println("<td>"+userInfo.getPassword()+"</td>");
out.println("<td>"+userInfo.getPhone()+"</td>");
out.println("<td>"+userInfo.getEmail()+"</td>");
out.println("<tr/>");
}

out.println("</body>"); // 输出HTML元素
out.println("</html>"); // 输出HTML元素
out.close();
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}

}

//配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" metadata-complete="true" version="3.0">
<display-name>JavaWebHomework</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<servlet>
<servlet-name>UserInfoServlet</servlet-name>
<servlet-class>com.lovo.servlet.UserInfoServlet</servlet-class>
<!-- 连接数据库驱动 -->
<init-param>
<param-name>DB_DRIVER</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
<!-- 连接数据库URL -->
<init-param>
<param-name>DB_URL</param-name>
<param-value>jdbc:mysql://localhost:3306/db_user?characterEncoding=utf-8</param-value>
</init-param>
<!-- 连接数据库用户名 -->
<init-param>
<param-name>DB_USER</param-name>
<param-value>root</param-value>
</init-param>
<!-- 连接数据库密码-->
<init-param>
<param-name>DB_PASSWORD</param-name>
<param-value></param-value>
</init-param>

</servlet>
<servlet-mapping>
<servlet-name>UserInfoServlet</servlet-name>
<url-pattern>/UserInfoServlet.do</url-pattern>
</servlet-mapping>
</web-app>

时间: 2024-10-10 15:33:26

web页面和数据库连接的相关文章

shell自动收集服务器硬件系统信息通过web页面显示

1.脚本部分 #!/bin/bash #auto get system info echo -e "\033[34m\033[1m" cat <<EOF +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++Welcome to use system Coolect++++++++++++++++++++++++++++ ++++++

JSP--TOMCAT-MYSQL web页面查询

queryStudent.jsp代码如下 <%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/l

JSP--TOMCAT-MYSQL web页面添加

addStudent.jsp如下<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=gb2312" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+

JSP--TOMCAT-MYSQL web页面删除

deleteStudentjsp.jsp页面代码 <%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm

WEB页面,WEB环境版本,数据库,整站备份脚本

#!/bin/bash # #WEB页面,WEB环境版本,数据库,整站备份脚本 #当发生某个原因导致整个服务器无法恢复时,利用上面备份的相关数据即可重做一台一样的服务器 date_a=`date +%Y%m%d-%H%M%S` mkdir -p /web_bak/${date_a}/conf &> /dev/null mkdir -p /web_bak/${date_a}/web &> /dev/null mkdir -p /web_bak/${date_a}/mysql &a

php与web页面交互(二)

一.获取表单数据 1.1 使用POST()方法提交表单  ---POST()方法可以没有限制地传递数据到服务器,所提交的数据在后台传输,用户在浏览器端是看不到这一过程的,安全性高,适用于发送保密数据和大容量数据到服务器. 范例: 1 <form name="form1" method="post" action="index2.php"> 2 <table border="1" width="400

转:Web页面通过URL地址传递参数常见问题及检测方法

Web页面即我们在浏览器中所看到的网页,在Web应用程序中,其页面往往需要进行动态切换和数据交互,页面间的数据常规传递方法有多种,本文主要介绍Web页面处理程序中常见的URL地址参数传递方法,包括概述其实现原理.特点和常见问题,最后介绍检测该方式常见应用问题的测试思路和方法. 1.web页面的概念 Web是internet上一个非常重要的资源信息网,产生于20世纪90年代初,它遵循超文本传输协议,以超文本或超媒介的形式传送各种各样的信息,为用户提供了一个具有友好的图形化界面--Web页面,以便用

Web页面速度测试工具

开发框架的时间,想测试单例和多例下对性能的影响,找了下没有特别简单易用的测试工具. 估摸着搞了一个小工具. 针对.net Framework的2.0,3.5,4.0版本. WebHttpTest2.0 WebHttpTest3.5 WebHttpTest4.0 Web页面速度测试工具,码迷,mamicode.com

zabbix监控WEB页面及告警 实战

网站对一个公司来说非常重要,里边包含了公司的业务,介绍和订单等相关信息,网站的宕掉了对公司的影响非常重大,所以要很好的对网站的页面进行监控,zabbix提供了对web页面的监控,具体步骤如下. 一,配置web页面的检测: 1,选择一台能上外网的被监控主机,依次执行:配置---主机---zabbix server---web监测. 2,单击web场景---创建web场景. 3,在场景选项卡中添加名称,应用集.然后调到步骤选项卡来添加监控页面. 4,在步骤选项卡中单击添加按钮,依次添加名称,URL超