zoukankan      html  css  js  c++  java
  • java入门第五步之数据库项目实战

    在真正进入代码编写前些进行一些工具的准备:

    1.保证有一个可用的数据库,这里我用sql server 2000为例,2.拥有一个ide,如ecelise或myeclipse等,这里我使用的是myeclipse 8.5

    3.数据库连接的架包;

    这里数据库的安装就不说了,如果你安装的sql server 2000的话,你在使用jdbc进行连接时还需要打上sp3补丁

    一切准备就绪后我们就开始进入正题了:

    1.首先我们在file--->New---->Web Project(也可以再Package Explore视图中右键一样的)

    在Project Name 中输入项目名(这里先输入HelloWorld,算作我们的第一个Web项目),然后点击finish即可;可以看到右边就出现了一个Web项目:

    具体上面每一部分的作用这里就不细说了,大家可查阅基础的书籍进行了解

    2.然后我们将要连接数据的jar包先放到WEB-INF下的lib目录下(以后我们就将所需要的jar都放到该目录下即可):

    由于有IDE支持负责和粘贴,我们只需要负责jar包后到IDE项目下的lib目录下就行粘贴就可以了

    3.我们先在页面端index.jsp(也可以大家自己进行新建jsp或html页面)写一个简单的注册页面,代码如下:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>数据库实战之注册</title>
    </head>
    <body>
    <center>
            <form name="form" action="RegisterServlet" method="post">
                <input type="text" name="username" id="username" />
                <input type="password" name="password" id="password" />
                   <input type="password" name="repassword" id="repassword" />
                   <input type = "submit" name = "register" value = "注册">
                   <input type = "reset" name = "re" value = "重置">
             </form>
    </center>
    </body>
    </html>

    注意的问题:我们在一般情况下都是将编码格式改为utf-8的,<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

    接下来我们先来看下页面的效果,先不管后台的交互;这里我们就需要将项目加载到应用服务器中,这里我们选用的是开源的服务器Tomcat 6.0,
    具体安装可以见:java入门第五步之tomcat的安装http://www.cnblogs.com/shenliang123/archive/2012/04/24/2468036.html

    4.接下来我们进行项目的部署:

    首先点击左边的按钮进行项目的部署

    在project选择你要部署的项目,这里选择HelloWorld,然后点击Add按钮,在出现的界面中的server选择tomcat服务器,这里选择tomcat 6.x---->点击finish

     然后成功加载后点击OK即可,项目部署结束了

    5.现在可以启动服务器了,在上图的右边按钮点击后在下拉框中选择tomcat 6.x----->Start后可以看到控制台会打印出信息---->待显示启动时间后表示加载完成了

    6.现在你就可以打开浏览器进行访问了;在打开的浏览器地址中输入地址为:http://localhost:8080/HelloWorld/index.jsp

    可以看到网页上输出:(这里我们页面的美观度先不去管)

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

    接下来我们要进行后台代码的编写了,要进行数据的交互了,我们可以看到我们上面新建的那个页面的后台处理是在RegisterServlet;

    在进行代码书写时,我们先在sql server 2000中新建一个test数据库,字段分别为id,username,password其中id为自增

    1.我们现在当前项目的src目录下新建servlet:选中src目录右键---->New----->servlet----->

    Name选项中必须填入页面端需要访问的servlet名----->Next---->默认点击finish即可---->

    现在我们可以去WEB-INF下的web.xml中看下:有如下代码

      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>RegisterServlet</servlet-name>
        <servlet-class>xidian.sl.servlet.RegisterServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>RegisterServlet</servlet-name>
        <url-pattern>/servlet/RegisterServlet</url-pattern>
      </servlet-mapping>

    简单说下原理:页面端访问servlet----->先会到web.xml配置文件中的<servlet-mapping>标签下的<servlet-name>标签中寻找对应的名字----->找到后会根据

    <url-pattern>标签下的名字去<servlet>标签下的<servlet-name>寻找名字对应的------>找到后根据<servlet-class>下的全名进行查找该servlet的具体位置;

    看懂了上面的意思后,我们应该知道在新建一个servlet类时我们不一定选择New----->servlet,也可直接选择New----->classes,然后在到web.xml中手动进行配置,

    前者做法是比较偷懒的做法,大家可以试试后者看;

    2.接下来我们继续回到我们新建的servlet类中,我们可以看到IDE工具已经帮我们生成了部分代码,servlet中重要的就是doGet()和doPost()两个方法,具体调用哪个

    方法,就看页面端的提交方式:由method="post"可以提交方式为post,因此我们的代码就可以先只在doPost中进行书写,

    在书写代码前我们要进行数据库的连接操作,这里我采用的是自己封装好的类:http://www.cnblogs.com/shenliang123/archive/2012/04/19/2456665.html

    为了方便起见我直接将该类放在与servlet的同一包下,以后大家自己做时可将其分开放置:

    servlet类中的doPost方法代码:

    public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html");
            response.setCharacterEncoding("utf-8");
            request.setCharacterEncoding("utf-8");
            /**
             * 使用request.getParameter(String str)可以获得页面端传递的参数,该方法的参数就是页面端传递的Name值
             * */
            String username = request.getParameter("username");                            //账号
            String password = request.getParameter("password");                            //密码
            //打印看是否已经获得该值
            System.out.println("用户名:" +username + "  密码:"+password);
            PrintWriter out = response.getWriter();
            try {
                /**
                 * 以下是根据账号来查询数据库,看该用户名是否已被申请
                 * */
                String sql = "select id from users where username='"+username+"'";
                DbConn dbConn = new DbConn();
                String[][] data = dbConn.getData(sql);
                if(data == null|| (data != null&& data.length == 0)){
                    //进行数据库的添加
                    String sql_insert = "insert into users(username, password) values('"+username+"', '"+password+"')";
                    dbConn.update(sql_insert);
                    out.println("<script language='javascript'>alert('用户注册成功!!');window.location.href='index.jsp';</script>");
                    out.flush();
                    out.close();
                }else{
                    out.println("<script language='javascript'>alert('账号已被申请,请重输!');window.location.href='index.jsp';</script>");
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        }

    然后访问页面端,输入用户名和账号后点击注册,返回成功后:

    查看数据库:

    到此我们的第一个web项目就宣告成功了,现阶段我们对页面端没有太多的控制,在以后的学习中会慢慢加入的

    希望多多交流,多多关注,共同成就梦想
  • 相关阅读:
    FFC详解及应用
    getBoundingClientRect
    userAgent
    各种排序算法的分析及java实现
    解读TCP 四种定时器
    TCP那些事儿(下)
    TCP那些事儿(上)
    10个实用的 Linux 网络和监控命令[转]
    监控 Linux 性能的 18 个命令行工具[转]
    4个强大的Linux服务器监控工具[转]
  • 原文地址:https://www.cnblogs.com/shenliang123/p/2467989.html
Copyright © 2011-2022 走看看