当前位置:   article > 正文

javaEE实现数据库信息简单显示在浏览器上_javaee怎么在网页上显示数据库表格

javaee怎么在网页上显示数据库表格

  1. package com.myWeb.user;
  2. /**
  3. * 使用MVC模式
  4. * 是User一个类,封装User的属性
  5. * @author user32
  6. *
  7. */
  8. public class User {
  9. private String name;
  10. private int sex;
  11. private int age;
  12. private String phone;
  13. private String qq;
  14. public User(){super();}
  15. public User(String name,int sex,int age,
  16. String phone,String qq){
  17. this.name = name;
  18. this.sex = sex;
  19. this.age = age;
  20. this.phone = phone;
  21. this.qq = qq;
  22. }
  23. public String getName() {
  24. return name;
  25. }
  26. public void setName(String name) {
  27. this.name = name;
  28. }
  29. public int getSex() {
  30. return sex;
  31. }
  32. public void setSex(int sex) {
  33. this.sex = sex;
  34. }
  35. public int getAge() {
  36. return age;
  37. }
  38. public void setAge(int age) {
  39. this.age = age;
  40. }
  41. public String getPhone() {
  42. return phone;
  43. }
  44. public void setPhone(String phone) {
  45. this.phone = phone;
  46. }
  47. public String getQq() {
  48. return qq;
  49. }
  50. public void setQq(String qq) {
  51. this.qq = qq;
  52. }
  53. public String toString(){
  54. return "user[name="+name+";sex="+sex+
  55. ";age="+age+";phone="+phone+";qq="+
  56. qq+"]";
  57. }
  58. }

刚学习JavaEE,有不对的地方请指出

----------------------------------------------------

代码上次有错误,这次修改,没有优化

----------------------------------------------------

想实现一个简单的web功能,安静数据库(mysql)里面的表的内容显示在html上。

1、准备工作

安装myeclipse(对JavaEE开发比较方便),tomcat插件,mysql数据库,Navicat(方便管理mysql数据库)

这些安装网上有很多教程,可自行百度

2、想实现这个功能,百度下很多方法如

Ajax:http://www.cnblogs.com/lansehai/p/4668917.html

mvc模式:http://www.cnblogs.com/lxnlxn/p/5813981.html 

php :http://blog.csdn.net/xtqueen/article/details/8219002 这里参照mvc模式

3、在数据库中建立一个简单的表

语句:

create table userT

    -> (id INT NOT NULL AUTO_INCREMENT,

    -> name VARCHAR(30) NOT NULL,

    -> sex int(1),

    -> age int(2),

    -> phone VARCHAR(11) NOT NULL,

    -> qq VARCHAR(15),

    -> PRIMARY KEY(id));


4、写一个简单的html文件

  1. MyHtml.html
  2. rel="stylesheet" type="text/css" href="./css/base.css"/>
  3. 姓名性别年龄手机QQ操作name男11150604051101374465900 name男11150604051101374465900 name男11150604051101374465900

css文件
  1. body{
  2. border:0px ;
  3. padding:0px;
  4. margin:0px;
  5. /*background-image: url(../web/body_bg.jpg);
  6. background-repeat: repeat-x;*/
  7. }
  8. div{
  9. border:1px solid black;
  10. margin:0px auto;
  11. }
  12. #showData{
  13. margin:0 auto;
  14. border-collapse: collapse;
  15. width: 800px;
  16. text-align: center;
  17. font-size: 16px;
  18. }
  19. tr.header{
  20. height:40px;
  21. font-weight:bold;
  22. }
  23. #showData td{
  24. border:1px solid black;
  25. height:30px;
  26. margin:0
  27. }

5、未使用框架只是用servlet进行与数据库联系,取出数据,显示在浏览器
好的结构目录便于开发,可以参考:https://my.oschina.net/kzhou/blog/108971
后台逻辑处理类,写的不是很好,以后继续修改
User.java
  1. package com.myWeb.user;
  2. /**
  3. * 使用MVC模式
  4. * 是User一个类,封装User的属性
  5. * @author user32
  6. *
  7. */
  8. public class User {
  9. private String name;
  10. private int sex;
  11. private int age;
  12. private String phone;
  13. private String qq;
  14. public User(){super();}
  15. public User(String name,int sex,int age,
  16. String phone,String qq){
  17. this.name = name;
  18. this.sex = sex;
  19. this.age = age;
  20. this.phone = phone;
  21. this.qq = qq;
  22. }
  23. public String getName() {
  24. return name;
  25. }
  26. public void setName(String name) {
  27. this.name = name;
  28. }
  29. public int getSex() {
  30. return sex;
  31. }
  32. public void setSex(int sex) {
  33. this.sex = sex;
  34. }
  35. public int getAge() {
  36. return age;
  37. }
  38. public void setAge(int age) {
  39. this.age = age;
  40. }
  41. public String getPhone() {
  42. return phone;
  43. }
  44. public void setPhone(String phone) {
  45. this.phone = phone;
  46. }
  47. public String getQq() {
  48. return qq;
  49. }
  50. public void setQq(String qq) {
  51. this.qq = qq;
  52. }
  53. public String toString(){
  54. return "user[name="+name+";sex="+sex+
  55. ";age="+age+";phone="+phone+";qq="+
  56. qq+"]";
  57. }
  58. }


UserDAO.java
  1. package com.myWeb.DAO;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. import com.myWeb.user.User;
  10. /**
  11. * User的DAO类
  12. * 实现数据库的连接;数据库的查询
  13. * @author user32
  14. *
  15. */
  16. public class UserDAO {
  17. private static Connection conn=null;
  18. /**
  19. * 连接数据库的相关信息
  20. */
  21. private static String driver = "com.mysql.jdbc.Driver";
  22. private static String url = "jdbc:mysql://127.0.0.1:3306/myweb";
  23. private static String user = "root";
  24. private static String password = "105092014032";
  25. /**
  26. * 连接数据库
  27. */
  28. public static void getConnect(){
  29. try {
  30. Class.forName(driver);
  31. conn = DriverManager.getConnection(url, user, password);
  32. } catch (Exception e) {
  33. System.out.println("数据库连接失败");
  34. e.printStackTrace();
  35. }
  36. }
  37. /**
  38. * 关闭数据库
  39. */
  40. public static void closeConnect(){
  41. if (conn==null){
  42. return;
  43. }
  44. try{
  45. conn.close();
  46. }catch (SQLException e) {
  47. System.out.println("关闭数据库失败");
  48. e.printStackTrace();
  49. }
  50. }
  51. public static List
  52. getUsers(){
  53. if (conn==null){return null;}
  54. List
  55. lists = new ArrayList
  56. ();
  57. /*PreparedStatement会对sql语句进行检查,多语句
  58. * 进行批处理。相对于Statement比较安全。一般在开发使用
  59. * PreparedStatement
  60. * PreparedStatement preparedStatement = null;
  61. * 在改方法中只查询一次,使用Statement
  62. */
  63. Statement state = null;
  64. ResultSet rs = null;
  65. String sql = "SELECT t_name,sex,age,phone,qq" +
  66. "FROM userT";
  67. sql = "select * from usert";
  68. User user = new User();
  69. try {
  70. state = conn.createStatement();
  71. rs = state.executeQuery(sql);
  72. while (rs.next()){
  73. System.out.println(rs.getString("t_name"));
  74. user.setName(rs.getString("t_name"));
  75. user.setSex(rs.getInt("sex"));
  76. user.setAge(rs.getInt("age"));
  77. user.setPhone(rs.getString("phone"));
  78. user.setQq(rs.getString("qq"));
  79. lists.add(user);
  80. }
  81. } catch (Exception e) {
  82. lists = null;
  83. e.printStackTrace();
  84. }
  85. return lists;
  86. }
  87. }


servelt代码
ListAllUser.java

  1. package com.myWeb.DAO;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. import com.myWeb.user.User;
  10. /**
  11. * User的DAO类
  12. * 实现数据库的连接;数据库的查询
  13. * @author user32
  14. *
  15. */
  16. public class UserDAO {
  17. private static Connection conn=null;
  18. /**
  19. * 连接数据库的相关信息
  20. */
  21. private static String driver = "com.mysql.jdbc.Driver";
  22. private static String url = "jdbc:mysql://127.0.0.1:3306/myweb?" +
  23. "useUnicode=true&characterEncoding=UTF-8";
  24. private static String user = "root";
  25. private static String password = "105092014032";
  26. /**
  27. * 连接数据库
  28. */
  29. public static void getConnect(){
  30. try {
  31. Class.forName(driver);
  32. conn = DriverManager.getConnection(url, user, password);
  33. } catch (Exception e) {
  34. System.out.println("数据库连接失败");
  35. e.printStackTrace();
  36. }
  37. }
  38. /**
  39. * 关闭数据库
  40. */
  41. public static void closeConnect(){
  42. if (conn==null){
  43. return;
  44. }
  45. try{
  46. conn.close();
  47. }catch (SQLException e) {
  48. System.out.println("关闭数据库失败");
  49. e.printStackTrace();
  50. }
  51. }
  52. public static List
  53. getUsers(){
  54. if (conn==null){
  55. UserDAO.getConnect();
  56. }
  57. List
  58. lists = new ArrayList
  59. ();
  60. /*PreparedStatement会对sql语句进行检查,多语句
  61. * 进行批处理。相对于Statement比较安全。一般在开发使用
  62. * PreparedStatement
  63. * PreparedStatement preparedStatement = null;
  64. * 在改方法中只查询一次,使用Statement
  65. */
  66. Statement state = null;
  67. ResultSet rs = null;
  68. //这个t_name字段好像有点问题
  69. // String sql = "SELECT t_name,sex,age,phone,qq" +
  70. // "FROM userT";
  71. String sql = "select * from usert";
  72. try {
  73. state = conn.createStatement();
  74. rs = state.executeQuery(sql);
  75. while (rs.next()){
  76. /*User user = new User();
  77. //System.out.println(rs.getString("t_name"));
  78. user.setName(rs.getString("t_name"));
  79. user.setSex(rs.getInt("sex"));
  80. user.setAge(rs.getInt("age"));
  81. user.setPhone(rs.getString("phone"));
  82. user.setQq(rs.getString("qq"));*/
  83. lists.add(new User(rs.getString("t_name"),
  84. rs.getInt("sex"),
  85. rs.getInt("age"),
  86. rs.getString("phone"),
  87. rs.getString("qq")));
  88. }
  89. try {
  90. rs.close();
  91. state.close();
  92. } catch (SQLException e) {
  93. e.printStackTrace();
  94. }
  95. } catch (Exception e) {
  96. lists = null;
  97. e.printStackTrace();
  98. }finally{
  99. //UserDAO.closeConnect();
  100. }
  101. //System.out.println("测试lists:"+lists);
  102. return lists;
  103. }
  104. }

最后截图。不过按钮不能使用,可以在servlet中接受继续添加功能,应该可以实现(也是刚学,不是很清楚)

前面是由于编码问题导致乱码,不过询问老师,终于改过来,所以最后一个正常显示


其中遇到一个mysql乱码问题:可以去http://blog.csdn.net/shawshank_bingo/article/details/52579526


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号