Servlet+JDBC+MySQL简单web练习

php中文网
发布: 2016-06-07 15:28:03
原创
1624人浏览过

servlet+jdbc+mysql简单web练习 一、Servlet结构 1〉构造函数constructor 2〉init();初始化——〉将web.xml中有关sql的配置和相关连接语句封装到该函数中。 3〉doGet();doPost();将数据库操作的sql语句封装到该函数。 4〉destory();将相关资源释放,如:关闭

servlet+jdbc+mysql简单web练习

一、Servlet结构
1〉构造函数constructor
2〉init();初始化——〉将web.xml中有关sql的配置和相关连接语句封装到该函数中。
3〉doGet();doPost();将数据库操作的sql语句封装到该函数。
4〉destory();将相关资源释放,如:关闭数据库语句封装到该函数中。

二、JDBC(oop)+Mysql(db开发)
1〉驱动文件包(*.jar)
2〉Connection与db建立连接.
3〉ResultSet(纪录结果集)
4〉get方法获取字段。
5〉释放资源。

三、从基本框架—-〉到流程思想。
实现一和二的资源整合。

四、步骤。
要求:已经在MySQL中建立school数据库、studentinfo(id,name,age)。
1〉建立一个webproject(web应用名myweb)
2〉在webproject中建立一个package(名为web)
3〉在package中建立一个servlet(名为MyServlet)
4〉完成一的转化(封装)
//初始化函数,连接数据库
public void init() throws ServletException {
String url=”jdbc:mysql://localhost:3306/school”;
String user=”root”;
String pwd=”root”;
try{
Class.forName(“com.mysql.jdbc.Driver”);
//加载驱动,这一句也可写为:Class.forName(“com.mysql.jdbc.Driver”).newInstance();
//建立到MySQL的连接
conn = DriverManager.getConnection(url,user, pwd);
}catch(Exception ex){
System.out.println(“Error : ” + ex.toString());
}
}

//定义成员变量
Connection conn;
ResultSet rs;

//对数据库的操作
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//解决中文乱码问题
response.setContentType(“text/html;charset=utf-8”);//使浏览器默认编码为utf-8
//response.setCharacterEncoding(“utf-8”);//也可解决中文乱码
PrintWriter out = response.getWriter();
out.println(“”);
out.println(““);
out.println(” A Servlet“);
out.println(” “);
try{
//执行SQL语句
Statement stmt = conn.createStatement();//创建语句对象,用以执行sql语言
ResultSet rs = stmt.executeQuery(“select * from studentinfo”);
//处理结果集
out.println(“

“);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
while (rs.next()){
String id=rs.getString(“id”);
String name=rs.getString(“name”);
String age=rs.getString(“age”);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
}
out.print(“
“);out.println(“学生信息表”); out.println(“
“);out.println(“学号1”);out.println(“ “);out.println(“姓名”);out.println(“ “);out.println(“年龄”);out.println(“
“);out.println(id);out.println(“ “);out.print(name);out.println(“ “);out.println(age);out.println(“
“);
}catch(Exception ex){
System.out.println(“Error : ” + ex.toString());
}
out.println(” “);
out.println(““);
out.flush();
out.close();
}

//释放资源
public void destroy() {
super.destroy();
try{
rs.close();//关闭数据库
conn.close();
}catch(Exception ex){
System.out.println(“Error : ” + ex.toString());
}

自动生成的包
package web;

修改后导入的包(编程时系统会自动导入包)
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

完整代码如下:
package web;

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Myservlet extends HttpServlet {

//定义成员变量
Connection conn;
ResultSet rs;

public Myservlet() {
    super();
}

//初始化函数,连接数据库
public void init() throws ServletException {
    String url="jdbc:mysql://localhost:3306/school";
    String user="root";
    String pwd="root";
    try{
        Class.forName("com.mysql.jdbc.Driver");
        //加载驱动,这一句也可写为:Class.forName("com.mysql.jdbc.Driver").newInstance();
        //建立到MySQL的连接
        conn = DriverManager.getConnection(url,user, pwd);
        }catch(Exception ex){
          System.out.println("Error : " + ex.toString());
          }
}

//对数据库的操作
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    //解决中文乱码问题
    response.setContentType("text/html;charset=utf-8");//使浏览器默认编码为utf-8
    //response.setCharacterEncoding("utf-8");//也可解决中文乱码
    PrintWriter out = response.getWriter();
    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>");
    try{
        //执行SQL语句
        Statement stmt = conn.createStatement();//创建语句对象,用以执行sql语言
        ResultSet rs = stmt.executeQuery("select * from studentinfo");
        //处理结果集
        out.println("<TABLE  width=500; border=1; cellspacing=0 >");
        out.println("<TR>");
        out.println("<TH>");out.println("学生信息表"); out.println("</TH>");
        out.println("</TR>");
        out.println("<TR>");
        out.println("<TD>");out.println("学号1");out.println("</TD>");
        out.println("<TD>");out.println("姓名");out.println("</TD>");
        out.println("<TD>");out.println("年龄");out.println("</TD>");
        out.println("</TR>");
        while (rs.next()){
            String id=rs.getString("id");
            String name=rs.getString("name");
            String age=rs.getString("age");
            out.println("<TR>");
            out.println("<TD>");out.println(id);out.println("</TD>");
            out.println("<TD>");out.print(name);out.println("</TD>");
            out.println("<TD>");out.println(age);out.println("</TD>");
            out.println("</TR>");
            }
        out.print("</TABLE>");
    }catch(Exception ex){
        System.out.println("Error : " + ex.toString());
    }
    out.println("  </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
}

//释放资源
public void destroy() {
    super.destroy(); 
    try{
        rs.close();//关闭数据库
        conn.close();
    }catch(Exception ex){
        System.out.println("Error : " + ex.toString());
    }
}
登录后复制

}

DVWA
DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中存在已记录和未记录的漏洞。这是有意的。鼓励您尝试发现尽可能多的问题。Damn Vulnerable Web A

DVWA 97
查看详情 DVWA

6〉BuildPach——〉AddExternalArchives…
导入下载好的数据库连接包(mysql-connector-java.jar)
7〉保存后,将web应用发布到所配置好的tomcat上。
8〉启动tomcat。
9〉在浏览器URL栏输入http://localhost:8080/web应用名/servlet/servlet名
如:http://localhost:8080/myweb/servlet/Myservlet
10〉在浏览器上显示出:学生信息表。
11〉每次调试程序都要重启tomcat和重新发布到tomcat上。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号