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

摘要:
既然您想学习Web开发,那么在一开始就构建一个服务器是非常重要的。这里,您使用eclipse+tomcat+mysql来实现它。首先,下载eclipse。这里我使用4.4.1版本,tomcat 7.0。关于eclipse+tomcat的环境,我相信在互联网上有很多信息。我不会在这里介绍它。对于MySQL,请参阅此处:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 。 启动eclipse,然后创建一个新的tomcat服务器:接下来,在这里选择tomcat 7.0,然后按照要求操作。因为我已经创建了一个动态网络,所以最好将它添加到服务器中。接下来是连接到数据库、更新信息和查询信息的方法:packagecom.example;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importcom.example.Student;PublicclassConnectDB{privatestaticConnectionconn=null;privatestaticStatementstmt=null;privatestaticResultSetrs=null;publicstaticoidstartConnect(){try{Class.forName;try{conn=DriverManager.getConnection;}catch{//TODO:handleexception.printStackTrace();}}catch{//TODO:handeexception.printStackTrace(rs!

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

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

    这里假设已经安装搭建好了环境了。启动eclipse,然后新建一个tomcat的server:

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

    接着next

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

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

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

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

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

    按照步骤一步一步来

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

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

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

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

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

    接着new一个index.jsp文件:

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

    然后添加代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hello</title>
</head>
<body>
	这是我们第2个web项目,哈哈
</body>
</html>

    运行看下效果:

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

    好了,基本上环境都搭建好了。

    先在mysql 数据库里面新建下表:一般mysql安装在/usr/local/mysql/bin下,cd 到该目录下,执行命令:

    ./mysql -u root -p

    进入到mysql中,执行show databases;查看当前的database,新建test数据库:

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

   接着我们新建一个表Student:

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

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

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

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

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

    再查看下表中的信息:

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

    可以发现已经有了两个student的信息了。

    然后参考了网上的代码,简单实现下信息的增删改查,并解决了中文乱码的问题:

    首先新建Student类:

package com.example;

public class Student {
	private String sid;  
    private String name;  
    private String age;  
  
    public String getSid() {  
        return sid;  
    }  
  
    public void setSid(String sid) {  
        this.sid = sid;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public String getAge() {  
        return age;  
    }  
  
    public void setAge(String age) {  
        this.age = age;  
    }  

}

    最简单的设置和获取id,name和age的方法。

    接着是连接数据库,更新信息,查询信息的方法:

package com.example;
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;  
import java.util.ArrayList;

import com.example.Student;

public class ConnectDB {
	private static Connection conn = null;
	private static Statement stmt = null;
	private static ResultSet rs = null;
	
	public static void startConnect() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			try {
				conn = DriverManager.getConnection(
						"jdbc:MySQL://127.0.0.1:3306/test", "root", "你的密码"); 
			} catch (SQLException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	
	public static void endConnect() throws SQLException {   
        //关闭连接  
        if (rs != null) {  
            rs.close();  
            rs = null;  
        }  
        if (stmt != null) {  
            stmt.close();  
            stmt = null;  
        }  
        if (conn != null) {  
            conn.close();  
            conn = null;  
        }  
    }  
  
    public static void update(String sql) throws SQLException {   
  
        //数据库更新  
        startConnect(); 
        stmt = conn.createStatement();  
        stmt.executeUpdate(sql);  
        endConnect();  
    }  
  
    public static ArrayList getList1(String sql) throws SQLException {  
  
        //数据库查询  
        ArrayList list = new ArrayList();  
        startConnect(); 
        stmt = conn.createStatement();  
        rs = stmt.executeQuery(sql);  
        while (rs.next()) {  
            Student st = new Student();  
            st.setSid(rs.getString("sid"));  
            st.setName(rs.getString("sname"));
            st.setAge(rs.getString("sage"));  
            list.add(st);  
        }  
        endConnect();  
        return list;  
    }  
  
}
    然后实现几个简单的jsp代码,首先是list.jsp:

<%@page import="com.example.Student"%>
<%@page import="com.example.ConnectDB"%>
<%@ page language="java" import="com.example.ConnectDB,com.example.Student,java.util.*"  
    pageEncoding="gbk"%>   
    <%--jsp头文件,包括引入的包和支持语言,gbk为支持中文--%>  
<%  
	ArrayList list = ConnectDB.getList1("select sid,sname,sage from student"); //获得test表中所有数据并以列表形式返回  
%>  
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
    <head>  
        <title>My JSP 'list.jsp' starting page</title>  
    </head>  
    <body>  
        <input type="button" name="bottom" value="添加新学生"  
            onclick="javascript:window.location.href='http://t.zoukankan.com/add.jsp'">  
        <br>  
        <br>  
        <table border="1">  
            <tr>  
                <td>  
                    编号  
                </td>  
                <td>  
                    姓名  
                </td>  
                <td>  
                    年龄  
                </td>  
                <td>  
                    操作  
                </td>  
            </tr>  
            <%  
                    {  
                    for (Iterator it = list.iterator(); it.hasNext();) {  
                        Student s = (Student) it.next();  
            %>  
            <tr>  
                <td><%=s.getSid()%></td>  
                <td><%=s.getName()%></td>  
                <td><%=s.getAge()%></td>  
                <td>  
                    <a href="http://t.zoukankan.com/update.jsp?sid=<%=s.getSid()%>">修改</a>  
                    <a href="http://t.zoukankan.com/delete.jsp?sid=<%=s.getSid()%>"  
                        onclick="return confirm('确定删除?');">删除</a>  
                </td>  
            </tr>  
            <%  
                }  
                }  
            %>  
        </table>  
    </body>  
</html>  

    这里通过调用了ConnectDB的getlist1方法来显示目前数据库test的student表中的数据信息。接着是添加的jsp:

<%@ page language="java" pageEncoding="utf-8"%>  
<%
	request.setCharacterEncoding("UTF-8"); 
	response.setCharacterEncoding("UTF-8"); 
	response.setContentType("text/html; charset=utf-8"); 
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
    <head>  
        <title>add</title>  
    </head>  
    <body>  
        <form action="addInfo.jsp" method="post">  
            提交到addinfo.jsp  
            <p>  
                添加学生:  
            </p>  
            SID:  
            <input type="text" name="sid">  
            <br>  
            <br>  
            姓名:  
            <input type="text" name="sname">  
            <br>  
            <br>  
            年龄:  
            <input type="text" name="sage">  
            <br>  
            <br>  
            <input type="submit" name="submit" value="提交">  
        </form>  
    </body>  
</html>  
    这里把数据提交到addinfo.jsp:

<%@page import="com.example.ConnectDB"%>
<%@ page language="java" import="com.example.ConnectDB" pageEncoding="UTF-8"%>  
<%  
	request.setCharacterEncoding("UTF-8"); 
	response.setCharacterEncoding("UTF-8"); 
	response.setContentType("text/html; charset=utf-8"); 

	String sid=new String(request.getParameter("sid").getBytes("UTF-8"));   
 	String name = new String(request.getParameter("sname").getBytes("UTF-8"));  
 	String age = new String(request.getParameter("sage").getBytes("UTF-8"));  
 	ConnectDB.update("insert into student (sid,sname,sage) values ('"+sid+"','"+name+"','"+age+"')");  
 	response.sendRedirect("list.jsp");
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
    <head>  
        <title>My JSP 'addinfo.jsp' starting page</title>  
    </head>  
    <body>  
        添加成功!<br>  
    </body>  
</html>  

    接着是delete.jsp

<%@ page language="java" import="com.example.ConnectDB" pageEncoding="gbk"%>  
<%  
	ConnectDB.update("delete from student where sid ="+request.getParameter("sid")); //获得要删除人的sid并删除  
 	response.sendRedirect("list.jsp");  //转到list.jsp页面  
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
    <head>  
        <title>My JSP 'delete.jsp' starting page</title>  
    </head>  
    <body>  
        This is my JSP page.<br>  
    </body>  
</html>

    基本上就这些了,更新的jsp就不写了。运行结果如下:

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


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



免责声明:文章转载自《Web开发学习之路--Eclipse+Tomcat+mysql之初体验》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt 无边框窗体改变大小 完美实现(全部自己实现)ASP.NET Core 认证与授权[1]:初识认证 (笔记)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python Web 开发的十个框架【转载】

Python 是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器。 其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模板系统、还有与Web服务 器进行交互的库、这些都可以设计到你的Web应用程序...

flask第30篇——宏macro和import标签

宏是Jinja2特有的,像Django则没有这个。 先新建一个项目macroDemo: 然后在templates文件夹中新建index.html文件,并在代码中返回渲染后的文件: 然后回到index.html,现在假设我们要写一个登录的表单: 代码: <!DOCTYPE html><html lang="en"><he...

Windows环境搭建Web自动化测试框架Watir

Windows环境搭建Web自动化测试框架Watir 一、前言     Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将Web自动化测试应用于工作中,进而形成能够独立成章的博文,希望能够为国内web自动化测试的发展做一点绵薄的贡献吧,笑~ 二、Watir搭建流程...

移动端web页面使用position:fixed问题总结

近期完成了一个新的项目(搜狐直播),其中又涉及到了 fixed(固定位置定位)的问题,在之前的文章《移动Web产品前端开发口诀——“快”》中已经阐述过我对 iScroll 的态度,所以在这个项目中我决定不使用 iScroll,使用 position:fixed 实现头部、底部模块定位。在使用fixed的过程中,遇到了一些的问题,并且部分问题无法找到较好的解...

浏览器、HTML、css 面试题

1.什么是盒模型 盒模型(内容(content),内边距(padding),边框(border),外边距(margin)),值得注意的是,块级元素可以设置宽高,内边距,边框,外边距 行内元素宽高自动,并排显示。 2.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?行内元素和块级元素有什么区别? CSS规范规定,每个元素都有display属性,确...

Ajax动态滚动加载数据

看新浪微博,人人网都有这样的效果:滚动条滚动到最下面的时候,新的数据就被自动加载出来了,今天亲自尝试了一下这个效果的实现。 最开始在CSDN上写了一版,功能比较简单,今天又增加了一个小功能:翻页到指定页数后,自动停止。用户点击继续查看后,再继续滚动。看看实现吧: 更新核心滚动代码: $(window).scroll(function(){...