(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
=
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中进行数据库连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)