Web开发学习之路--Eclipse+Tomcat+mysql之初体验

深藏阁楼爱情的钟 2022-05-24 22:59 249阅读 0赞

学习了一段时间android,正好要用到android和服务器之间的交互,既然要学习android,那么就涉猎下服务器端的开发了,以前学过php,用thinkphp很快可以搭建起来,但是android是java的,web用java来写不是更好,主要实现聊天的话得需要socket长连接,用php不好整。既然要学习Web开发,那最开始的搭建服务器最最根本了,这里用了eclipse+tomcat+mysql来实现之。

  1. 首先下载eclipse了,这里我用的4.4.1的版本,tomcat7.0,至于这个eclipsetomcat的环境的话相信网上的资料已经非常的多了,这里就不介绍了。关于mysql可以参考这里:[http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html][http_www.cnblogs.com_macro-cheng_archive_2011_10_25_mysql-001.html]。特别注意的是,下载安装好了之后会有弹出来临时的密码,这个需要记住的。
  2. 这里假设已经安装搭建好了环境了。启动eclipse,然后新建一个tomcatserver

Center

  1. 接着next

Center 1

  1. 这里选择了tomcat7.0,然后按照要求来,因为我已经建立了一个dynamicweb,所以添加到server中就好了。

Center 2

  1. 好了,这样server就建立好了,接着我们创建一个工程:

Center 3

  1. 按照步骤一步一步来

Center 4

  1. 已经创建了hello,所以这里创建hello1,接着下一步:

Center 5

  1. 自动添加web.xml用来配置。接着把hello1添加到server中去,通过Add and Remove,如下:

Center 6

  1. 接着new一个index.jsp文件:

Center 7

  1. 然后添加代码:

[java] view plain copy

  1. <%@ page language=”java” contentType=”text/html; charset=UTF-8”
  2. pageEncoding=”UTF-8”%>
  3. <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd">
  4. hello
  5. 这是我们第2个web项目,哈哈
  1. 运行看下效果:

Center 8

  1. 好了,基本上环境都搭建好了。
  2. 先在mysql 数据库里面新建下表:一般mysql安装在/usr/local/mysql/bin下,cd 到该目录下,执行命令:
  3. ./mysql -u root -p
  4. 进入到mysql中,执行show databases;查看当前的database,新建test数据库:

Center 9

接着我们新建一个表Student:

Center 10

  1. 然后查看下表建立的没有,执行show tables;

Center 11

  1. 可以发现里面有了student表。 接着插入两个student的信息;

Center 12

  1. 再查看下表中的信息:

Center 13

  1. 可以发现已经有了两个student的信息了。
  2. 然后参考了网上的代码,简单实现下信息的增删改查,并解决了中文乱码的问题:
  3. 首先新建Student类:

[java] view plain copy

  1. package com.example;
  2. public class Student {
  3. private String sid;
  4. private String name;
  5. private String age;
  6. public String getSid() {
  7. return sid;
  8. }
  9. public void setSid(String sid) {
  10. this.sid = sid;
  11. }
  12. public String getName() {
  13. return name;
  14. }
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18. public String getAge() {
  19. return age;
  20. }
  21. public void setAge(String age) {
  22. this.age = age;
  23. }
  24. }
  1. 最简单的设置和获取idnameage的方法。
  2. 接着是连接数据库,更新信息,查询信息的方法:

[java] view plain copy

  1. package com.example;
  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 com.example.Student;
  9. public class ConnectDB {
  10. private static Connection conn = null;
  11. private static Statement stmt = null;
  12. private static ResultSet rs = null;
  13. public static void startConnect() {
  14. try {
  15. Class.forName(“com.mysql.jdbc.Driver”);
  16. try {
  17. conn = DriverManager.getConnection(
  18. “jdbc:MySQL://127.0.0.1:3306/test”, “root”, “你的密码”);
  19. } catch (SQLException e) {
  20. // TODO: handle exception
  21. e.printStackTrace();
  22. }
  23. } catch (ClassNotFoundException e) {
  24. // TODO: handle exception
  25. e.printStackTrace();
  26. }
  27. }
  28. public static void endConnect() throws SQLException {
  29. //关闭连接
  30. if (rs != null) {
  31. rs.close();
  32. rs = null;
  33. }
  34. if (stmt != null) {
  35. stmt.close();
  36. stmt = null;
  37. }
  38. if (conn != null) {
  39. conn.close();
  40. conn = null;
  41. }
  42. }
  43. public static void update(String sql) throws SQLException {
  44. //数据库更新
  45. startConnect();
  46. stmt = conn.createStatement();
  47. stmt.executeUpdate(sql);
  48. endConnect();
  49. }
  50. public static ArrayList getList1(String sql) throws SQLException {
  51. //数据库查询
  52. ArrayList list = new ArrayList();
  53. startConnect();
  54. stmt = conn.createStatement();
  55. rs = stmt.executeQuery(sql);
  56. while (rs.next()) {
  57. Student st = new Student();
  58. st.setSid(rs.getString(“sid”));
  59. st.setName(rs.getString(“sname”));
  60. st.setAge(rs.getString(“sage”));
  61. list.add(st);
  62. }
  63. endConnect();
  64. return list;
  65. }
  66. }

    然后实现几个简单的jsp代码,首先是list.jsp:

[java] view plain copy

  1. <%@page import=”com.example.Student”%>
  2. <%@page import=”com.example.ConnectDB”%>
  3. <%@ page language=”java” import=”com.example.ConnectDB,com.example.Student,java.util.*“
  4. pageEncoding=”gbk”%>
  5. <%—jsp头文件,包括引入的包和支持语言,gbk为支持中文—%>
  6. <%
  7. ArrayList list = ConnectDB.getList1(“select sid,sname,sage from student”); //获得test表中所有数据并以列表形式返回
  8. %>
  9. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  10. My JSP ‘list.jsp’ starting page
  11. <input type=”button” name=”bottom” value=”添加新学生”
  12. οnclick=”javascript:window.location.href=’add.jsp’”>


  13. <%
  14. {
  15. for (Iterator it = list.iterator(); it.hasNext();) {
  16. Student s = (Student) it.next();
  17. %>
  18. <%
  19. }
  20. }
  21. %>
  22. 编号
  23. 姓名
  24. 年龄
  25. 操作
  26. <%=s.getSid()%> <%=s.getName()%> <%=s.getAge()%>
  27. 修改
  28. <a href=”delete.jsp?sid=<%=s.getSid()%>”
  29. οnclick=”return confirm(‘确定删除?’);”>删除
  1. 这里通过调用了ConnectDBgetlist1方法来显示目前数据库teststudent表中的数据信息。接着是添加的jsp

[java] view plain copy

  1. <%@ page language=”java” pageEncoding=”utf-8”%>
  2. <%
  3. request.setCharacterEncoding(“UTF-8”);
  4. response.setCharacterEncoding(“UTF-8”);
  5. response.setContentType(“text/html; charset=utf-8”);
  6. %>
  7. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  8. add
  9. 提交到addinfo.jsp
  10. 添加学生:
  11. SID:


  12. 姓名:


  13. 年龄:


  14. 这里把数据提交到addinfo.jsp:

[java] view plain copy

  1. <%@page import=”com.example.ConnectDB”%>
  2. <%@ page language=”java” import=”com.example.ConnectDB” pageEncoding=”UTF-8”%>
  3. <%
  4. request.setCharacterEncoding(“UTF-8”);
  5. response.setCharacterEncoding(“UTF-8”);
  6. response.setContentType(“text/html; charset=utf-8”);
  7. String sid=new String(request.getParameter(“sid”).getBytes(“UTF-8”));
  8. String name = new String(request.getParameter(“sname”).getBytes(“UTF-8”));
  9. String age = new String(request.getParameter(“sage”).getBytes(“UTF-8”));
  10. ConnectDB.update(“insert into student (sid,sname,sage) values (‘“+sid+”‘,’”+name+”‘,’”+age+”‘)”);
  11. response.sendRedirect(“list.jsp”);
  12. %>
  13. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  14. My JSP ‘addinfo.jsp’ starting page
  15. 添加成功!
  1. 接着是delete.jsp

[java] view plain copy

  1. <%@ page language=”java” import=”com.example.ConnectDB” pageEncoding=”gbk”%>
  2. <%
  3. ConnectDB.update(“delete from student where sid =”+request.getParameter(“sid”)); //获得要删除人的sid并删除
  4. response.sendRedirect(“list.jsp”); //转到list.jsp页面
  5. %>
  6. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  7. My JSP ‘delete.jsp’ starting page
  8. This is my JSP page.
  1. 基本上就这些了,更新的jsp就不写了。运行结果如下:

Center 14

  1. 通过这个例子基本上关于web的简单工程创建啊,修改数据库之类的都基本上可以去玩了,那么之后就可以搭建web和前段时间研究的仿微信的android app可以交互了。

这里补充上修改的代码

再建一个updata.jsp

  1. <%@ page language="java" pageEncoding="utf-8"%>
  2. <%
  3. request.setCharacterEncoding("UTF-8");
  4. response.setCharacterEncoding("UTF-8");
  5. response.setContentType("text/html; charset=utf-8");
  6. %>
  7. <%
  8. String line_id=request.getParameter("sid");
  9. %>
  10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11. <html>
  12. <head>
  13. <title>updata</title>
  14. </head>
  15. <body>
  16. <form action="updatainfo.jsp" method="post">
  17. <p>
  18. 修改学生:
  19. </p>
  20. SID:
  21. <input type="text" name="sid">
  22. <br>
  23. <br>
  24. 姓名:
  25. <input type="text" name="sname">
  26. <br>
  27. <br>
  28. 年龄:
  29. <input type="text" name="sage">
  30. <br>
  31. <br>
  32. <input type="submit" name="submit" value="提交">
  33. </form>
  34. </body>
  35. </html>

然后是updatainfo.jsp

  1. <%@page import="com.example.ConnectDB"%>
  2. <%@ page language="java" import="com.example.ConnectDB,java.*" pageEncoding="UTF-8"%>
  3. <%
  4. request.setCharacterEncoding("UTF-8");
  5. response.setCharacterEncoding("UTF-8");
  6. response.setContentType("text/html; charset=utf-8");
  7. String line_id=request.getParameter("id");
  8. String id=request.getParameter("sid");
  9. String name = request.getParameter("sname");
  10. String age = request.getParameter("sage");
  11. //System.out.println(line_id);
  12. ConnectDB.update("UPDATE student SET sid='"+id+"',sname='"+name+"',sage='"+age+"' WHERE sid='"+line_id+"'");
  13. response.sendRedirect("list.jsp");
  14. %>
  15. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  16. <html>
  17. <head>
  18. <title>My JSP 'addinfo.jsp' starting page</title>
  19. </head>
  20. <body>
  21. 添加成功!<br>
  22. </body>
  23. </html>

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读

    相关 springcloud体验

    前面几篇博客中我们大概讲解了一下spring boot的知识,话说管理这些微服务的架构就构成了spring cloud,我们一样,先不说原理先搭建出来再说; 我们今天主要搭

    相关 Web前端学习

    随着Web2.0思想的日益普及,让企业都慢慢认识到前端的重要性。前端开发人员的地位也日益提高,相应的技术要求要是越来越高,那么现在想成为一名合格的Web前端工程师应该怎样学习呢

    相关 兄弟连体验

    不知不觉来兄弟连将近一个月了,在这一个月的时间里我学到了很多,专业知识倒是其次,更重要的是一种学习的氛围、一种思考的方式与为人处事的方法,即使四个月后我从兄弟连毕业走上工作岗位

    相关 【YOLO学习笔记】YOLO体验

    前言 因为要完成毕业论文,所以最近正在学习计算机视觉,如果大家有什么问题,都可以跟我沟通交流。除了通过博客交流外,欢迎你加入我的QQ群,一起交流有关于机器学习、深度学习、