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

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项目就宣告成功了,现阶段我们对页面端没有太多的控制,在以后的学习中会慢慢加入的

java入门第五步之数据库项目实战相关推荐

  1. 以二进制输出64位类型的数据_Java入门第五课:Java基本数据类型与变量的声明...

    数据类型 基本数据类型 Java有八种基本类型.六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,一种布尔型. Byte.short.int.long ...

  2. Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享!

    Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享! 一.Mysql的Linux版本下载! 博主采用的是mysql-8.0.25-1.el7.x86_64.rpm- ...

  3. webrtc 入门第五章 一对一视频通话实现

    webrtc 入门第五章 一对一视频通话实现 一.介绍 ​ 在前面的章节我们学习了如何操作本地的设备摄像头,麦克风等,学会了如何进行本地的流媒体操作如录制,下载,同步等.在第三第四章节学习了webrt ...

  4. 2021-11-16----韩顺平Java入门第十天

    韩顺平Java入门第十天 1.swith分支结构     基本语法     流程图     快速入门 //请编写一个程序,该程序可以接收一个字符, //比如:a,b,c,d,e,f,g a 表示星期一 ...

  5. R语言入门第五集 实验四:数据分析

    R语言入门第五集 实验四:数据分析 一.资源 [R语言]R语言函数练习--东北大学大数据班R实训第四次作业 R语言:常用apply函数(apply,tapply,sapply,lapply)用法介绍 ...

  6. 2021-11-23----韩顺平Java入门第十四天

    韩顺平Java入门第十四天(排序.查找) 1.排序     1).排序的介绍:排序是将多个数据,依指定的顺序进行排列的过程.     2).内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序 ...

  7. 2021-11-10----韩顺平Java入门第七天

    韩顺平Java入门第七天 1.标识符     标识符的概念         ①java对各种变量.方法和类等命名是使用的字符序列称为标识符.         ②凡是自己可以起名字的地方都叫标识符 in ...

  8. C# 编程入门第五课,VS2019程序调试,for循环,水仙花数,Console.Write,又一种类型变换,三元表达式,产生随机数

    C# 编程入门第五课 文章目录 C# 编程入门第五课 1. VS2019程序调试 2. for循环 3. 水仙花数 4. Console.Write() 5. 又一种类型变换 6. 三元表达式 7.产 ...

  9. 高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(六)

    6:高颜值JavaFX数据库-九讲之六 项目效果图 功能点实现 内部优化 类结构示例 创建数据库连接类 1.创建类 2.数据库连接步骤 3.一百个注意事项 4.类的具体实现 5.错误显示的类 后记 高 ...

  10. java 读取邮件正文_JavaMail入门第五篇 解析邮件

    上一篇JavaMail入门第四篇 接收邮件中,控制台打印出的内容,我们无法阅读,其实,让我们自己来解析一封复杂的邮件是很不容易的,邮件里面格式.规范复杂得很.不过,我们所用的浏览器内置了解析各种数据类 ...

最新文章

  1. 【Angular4】英雄指南demo
  2. SSH框架执行自己定义的SQL语句
  3. jQuery 源码分析第一篇之入口源码
  4. 用python画太阳花-Python画太阳花
  5. C语言数组中找到第一个重复元素的算法(附完整源码)
  6. js将canvas保存成图片并下载
  7. 人工智能让边缘计算更有价值!
  8. Gulp构建Angularjs应用
  9. 分享个 之前写好的 android 文件流缓存类,专门处理 ArrayList、bean。
  10. linux 如何取执行一个脚本5000次,【shell笔记脚本】嵌套、控制循环以及处理循环输出...
  11. VCL组件之重要的公用属性
  12. delphi接口带上请求头是什么意思_Python接口自动化之Token详解及应用
  13. 总结——达内视频(二)
  14. 微型计算机中的存储容量1TB等于,自考计算机应用基础_通关宝典
  15. dell服务器管理口ip地址_戴尔服务器IDRAC命令配置IP地址
  16. Oracle存储过程实例开发
  17. 简单详细的OD破解教程
  18. java网页保存成pdf_将网页转换为PDF
  19. inav是什么意思?
  20. Python根据身份证得知性别

热门文章

  1. 从stm32转向Linux,STM32MP1Distrib
  2. 管理新论:少谈精神文化,强调工作作风
  3. Runtime.getRuntime().exec()如何调用7z解压文件
  4. JAVA NP插件,特定的宽度600,插件就不显示
  5. 你不能强迫别人进步,跟别人没法强迫你进步一样
  6. 2020-11-16梦笔记
  7. SVN回滚代码时,提示冲突怎么办
  8. 奇怪的315:大家都知道,为什么要等晚会曝光,管理部门呢
  9. 南宁出租车绿灯表示有客,红灯表示空车
  10. 凑热闹买了个小米剃须刀