jsp做一个最简单的,连接数据库,实现增删改查人员姓名的功能。一定要非常简单的那种。

jsp做一个最简单的,连接数据库,实现增删改查人员姓名的功能。一定要非常简单的那种。,第1张

(1)把mysql的驱动放到tomcat的lib中

(2)建一个很简单的表person就两个字段username和password,数据库名和数据库密码换成你的就是了

create database ibatis;--创建数据库

use ibatis;--使用数据库,以下表在该数据库中

create table person(username varchar(20),password varchar(20));--创建person表

(3)创建indexjsp和registjsp

1:

indexjsp 提交表单页面

<%@ page pageEncoding="GBK"%>

<html>

<head>

</head>

<body>

<form action="registjsp" method="post">

username :<input type = "text" name="name"/>

password :<input type = "password" name="password"/>

<input type = "submit" value="提交"/>

</form>

</body>

</html>

2:registjsp //用户注册同时显示所有用户

<%@ page contentType="text/html; charset=GBK" %>

<%@ page import="javasql"%>

<body>

<center>

<%

requestsetCharacterEncoding("GBK");

String uname=requestgetParameter("name"); //从表单获得

String pwd=requestgetParameter("password"); //从表单获得

String driver="commysqljdbcDriver"; //我用的是mysql官方驱动你自己换一下就是了 在这里有

String url="jdbc:mysql://localhost:3306/ibatisuser=root&password=yanghao"; //这是数据库连接地址Ibatis是数据库名称,user是用户password就是你的用户名,根据实际情况你修改

String sql="INSERT INTO person (username,password) VALUES('"+uname+"','"+pwd+"')"; //把indexjsp提交的两个数据插进数据库的数据库语句

Connection conn=null; //数据库连接

Statement stmt=null;

ResultSet rs = null; //查询结果

%>

<%

ClassforName(driver); //加载驱动

conn=DriverManagergetConnection(url); //获得连接

stmt=conncreateStatement();

stmtexecute(sql);//存入数据库

rs=stmtexecuteQuery("select from person"); //查询所有person语句

%>

<%

if(rs!=null){ //判断以下

while(rsnext()){

String username=rsgetString(1);

String password=rsgetString(2);

%>

<table>

<tr>

<td><%=username %></td>

<td><%=password %></td>

</tr>

</table>

<%

//关闭数据库连接,和开始的顺序是反的

rsclose();//关闭结果集

stmtclose();//关闭Statement

connclose();//关闭数据库连接

//ok完成了插入和查询 *** 作

}

}

%>

</center>

</body>

这也是我从网上找了一个例子,大概流程就是这样,慢慢来。

问题一

给你个小例子

//JSP接收客户端注册信息并输出

<%

String

username

=

requestgetParameter("username");

String

password

=

requestgetParameter("password");

String

con_password=

requestgetParameter("con_password");

String

email

=

requestgetParameter("email");

%>

用户名:<%=username

%><br/>

密码:<%=password

%><br/>

确认密码:<%=con_password

%><br/>

电子邮箱:<%=email

%>

问题二

需要明确需求写查询语句

还要知道你表的i相关字段

关联外键。

很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等 *** 作。Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。下面介绍如何用Access实现一个动态FAQ(常见问题及答案)网站。首先建立一个Access数据库faqmdb,其中的表faqs有字段id(自动增量型,并设为主关键字)、subject(文字型,长度200)、answers(备注型)。这个表中可以存放一些编程知识的常见问题及答案, 然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faqmdb。 创建一个JavaBean,名为faqjava,并保存在jswdk-101webpagesWEB-INFjspeans est目录下。faqjava 的内容如下:

你可以在页面上设置一个隐藏域,当点击‘查看详细信息’按钮时,将选中对象的id值赋给隐藏域,然后跳转显示详细信息的页面,再根据id值来查处详细信息即可。

d窗口 用

windowshowModalDialog("XXXXhtml","XXXX","dialogWidth=800px;dialogHeight=600px");就可以

上面的给出了jsp内嵌java的最初模式,现在一般是三层结构了即MVC结构,就这个例子我来给你解释下是怎么做的,java对连接数据库提供了统一的接口,各个数据库厂商根据提供的接口规范开发自己的连接方法顺序如下:1、用ClassforName()方法加载驱动:ClassforName("commicrosoftjdbcsqlserverSQLServerDriver")newInstance(); 黑体部分为数据库厂商自己开发的驱动。2、定义好连接数据库的url地址,连接串String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";黑体部分为固定写法不用理会。回到你最初的问题,如何创建数据库,这里你可以去baidu下每个数据库创建的方法,一般数据库安装的时候都有默认的数据库名,和对应的系统管理员工号和密码,DatabaseName=pubs这里说明sql serv 2000中建立了一个名字叫pubs的数据库jdbc:microsoft:sqlserver://localhost:1433固定写法唯一不同的是1433端口号,可能你在安装sql serv 2000的时候改变了该端口号为1500那么这里就应该为jdbc:microsoft:sqlserver://localhost:15003、定义好DatabaseName=pubs的登录用户名和密码 String user="sa";用户名

String password="";密码4、创建Connection对象,通过调用DriverManagergetConnection方法获得。 Connection conn= DriverManagergetConnection(url,user,password);黑体部分就是你定义好的连接串,用户名,密码,不可改变顺序。到这里为止数据库就连接上了,但是连接好了数据库还要做点什么,比如打印出来,接下看。5、通过获得的Connection对象conn创建Statement 对象stmtStatement stmt=conncreateStatement(ResultSetTYPE_SCROLL_SENSITIVE,ResultSetCONCUR_UPDATABLE);黑体部分是定义ResultSet的一些属性的,具体含义可以参考JDK的api。6、定义好你准备取得数据的sql语句,比如下面 select from test说明想从test表中取得所有的数据,关于sql语句可以去查找相关数据库资料。 String sql="select from test";定义好语句后,就用上一步创建好的Statement 对象stmt来执行这个sql语句,并返回一个ResultSet对象。

  ResultSet rs=stmtexecuteQuery(sql);执行完这步后rs中已经取得了test表所有的数据,那么接下来要展现在网页上。7、rsnext()对你取得的记录集做一个循环直到没有值为止,rsgetString(1)代表你test表中的第一个字段rsgetString(2)代表你test中的第二个字段,如果还有更多字段可以继续rsgetString(3)rsgetString(N) while(rsnext()) {%>

您的第一个字段内容为:<%=rsgetString(1)%>

您的第二个字段内容为:<%=rsgetString(2)%>

<%}%>8、当所有数据展现完毕,调用close()方法将所有资源关闭。 rsclose();

stmtclose();

connclose();回顾下大致过程:加载驱动 ClassforName();定义好相关的数据,调用DriverManagergetConnection(driver,user,password)获得一个数据库连接conn通过conn创建Statement对象stmt,conncreateStatement();通过stmt执行定义好的sql语句获得数据集ResultSet rs=stmtexecuteQuery(“select from test”);通过rsnext()方法循环遍历数据集的数据,通过rsgetString(1)获得第一条数据的第一个字段内容,这里要注意的是getString是对应数据库是字符类型,如果test表的第一个字段不是字符类型则用rsgetInt(1)获得。展现完毕后关闭所有资源conn stmt rs close方法。

数据库连接类:

package cnhpubbsutil;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import javasqlStatement;

public class DB {

 

 // 定义MySQL的数据库驱动程序

 public static final String DBDRIVER = "commysqljdbcDriver" ;

 //定义mysql的数据库连接地址:

 public static final String DBDURL = "jdbc:mysql://localhost/bbs2014" ;

 //mysql数据库的连接用户名

 public static final String DBUSER = "root" ;

 //mysql数据库的连接密码

 public static final String DBPASS = "1234" ;

 

 public static Connection createConn(){

  Connection conn =null;

  try {

   ClassforName(DBDRIVER);

   conn=DriverManagergetConnection(DBDURL,DBUSER,DBPASS);

  } catch (ClassNotFoundException e) {

   eprintStackTrace();

  } catch (SQLException e) {

   eprintStackTrace();

  }

  

  return conn;

 }

 

 public static PreparedStatement prepare(Connection conn,String sql){

  PreparedStatement ps=null;

  try {

   ps=connprepareStatement(sql);

  } catch (SQLException e) {

   // TODO Auto-generated catch block

   eprintStackTrace();

  }

  return ps;

 }

 

 public static void close(Connection conn){

  if(conn==null) return;

  try {

   connclose();

   conn=null;

  } catch (SQLException e) {

   // TODO Auto-generated catch block

   eprintStackTrace();

  }

 }

 

 public static void close(Statement stmt){

  if(stmt==null) return;

  try {

   stmtclose();

   stmt=null;

  } catch (SQLException e) {

   // TODO Auto-generated catch block

   eprintStackTrace();

  }

 }

 

 public static void close(ResultSet rs){

  if(rs==null) return;

  try {

   rsclose();

   rs=null;

  } catch (SQLException e) {

   // TODO Auto-generated catch block

   eprintStackTrace();

  }

 }

}

Category的一个JavaBean:

package cnhpubbsmodel;

public class Category {

private int id;

private String name;

private String description;

public int getId() {

return id;

}

public void setId(int id) {

thisid = id;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public String getDescription() {

return description;

}

public void setDescription(String description) {

thisdescription = description;

}

}

对数据库和Category的 *** 作类://说白了就是增删查修

<pre name="code" class="java">package cnhpubbsservice;

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import javautilArrayList;

import javautilList;

import cnhpubbsmodelCategory;

import cnhpubbsutilDB;

public class CategoryService {

public void add(Category c){

Connection conn=DBcreateConn();

String sql="insert into category (name,description) values (,)";

PreparedStatement ps=DBprepare(conn, sql);

try {

pssetString(1, cgetName());

pssetString(2, cgetDescription());

psexecuteUpdate();

} catch (SQLException e) {

eprintStackTrace();

}

DBclose(ps);

DBclose(conn);

}

public List<Category> list(){

Connection conn=DBcreateConn();

String sql="select  from category";

PreparedStatement ps=DBprepare(conn, sql);

List<Category> categories=new ArrayList<Category>();

try {

ResultSet rs=psexecuteQuery();

Category c=null;

while(rsnext()){

c=new Category();

csetId(rsgetInt("id"));

csetName(rsgetString("name"));

csetDescription(rsgetString("description"));

categoriesadd(c);

}

} catch (SQLException e) {

eprintStackTrace();

}

DBclose(ps);

DBclose(conn);

return categories;

}

public void delete(Category c){

deleteById(cgetId());

}

public void deleteById(int id){

Connection conn=DBcreateConn();

String sql="delete from category where id=";

PreparedStatement ps=DBprepare(conn, sql);

try {

pssetInt(1, id);

psexecuteUpdate();

} catch (SQLException e) {

eprintStackTrace();

}

DBclose(ps);

DBclose(conn);

}

public void update(Category c){

Connection conn=DBcreateConn();

String sql="update category set name =  , description =  where id = ";

PreparedStatement ps=DBprepare(conn, sql);

try {

pssetString(1, cgetName());

pssetString(2, cgetDescription());

pssetInt(3, cgetId());

psexecuteUpdate();

} catch (SQLException e) {

eprintStackTrace();

}

DBclose(ps);

DBclose(conn);

}

public Category loadById(int id){

Connection conn=DBcreateConn();

String sql="select  from category where id=";

PreparedStatement ps=DBprepare(conn, sql);

Category c=null;

try {

pssetInt(1, id);

ResultSet rs=psexecuteQuery();

if(rsnext()){

c=new Category();

csetId(rsgetInt("id"));

csetName(rsgetString("name"));

csetDescription(rsgetString("description"));

}

} catch (SQLException e) {

eprintStackTrace();

}

DBclose(ps);

DBclose(conn);

return c;

}

}

JAVA Web开发中与数据库的连接 *** 作,配置:

1、新建数据库。

新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。

2、编写contextxml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。

以下为contextxml文件样例:

<xml version="10" encoding="utf-8">

<Context reloadable = "true">

<Resource

name="jdbc/sampleHS"

type="javaxsqlDataSource"

maxActive="14"

以上就是关于jsp做一个最简单的,连接数据库,实现增删改查人员姓名的功能。一定要非常简单的那种。全部的内容,包括:jsp做一个最简单的,连接数据库,实现增删改查人员姓名的功能。一定要非常简单的那种。、HTML 提交表单到Jsp 页面,连接mysql数据库 sql 语句是查询语句,怎么把查、如何在JSP中进行数据库连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9293349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存