版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章
JavaBean技术与Web数据库操作第四章
JavaBean技术与Web数据库操1主要内容一、JavaBean组件技术二、JSP内置标记三、JSP自定义标记四、JavaWeb数据库操作五、JSP+JavaBean项目——新闻发布系统主要内容一、JavaBean组件技术一、JavaBean组件技术JSP页面中,Java语言与各种脚本语言参杂在一起。Java语言用来实现逻辑其它脚本语言用来展现内容不适合在JSP页面中实现复杂逻辑!一般的做法是在JSP页面中展现内容,而把逻辑实现的部分做为一个单独的Java类,在JSP页面中使用Java类的功能。一、JavaBean组件技术JSP页面中,Java语言与各种1.JSP中调用类(1)JSP调用内部类通过<%!%>定义内部类(什么是内部类?)程序10-1:classinjsp.jspJSP调用内部类很不常用。1.JSP中调用类(1(2)JSP调用外部类普通的Java类(外部类)可以被JSP页面自由使用!外部类可以被JSP使用,也可以被其它Java系统使用重用性好、扩展性好、便于调试。程序10-2、10-3:Student.java、useClass.jsp实际应用中,JavaBean组件做为具有特定设计规范的外部类得到非常广泛的使用。(2)JSP调用外部类普通的Java类(外部类)可以被JSP2.JavaBean组件(1)什么是JavaBeanJavaBean是满足Bean设计规范的普通Java类JavaBean类必须有一个不带任何参数的public型构造函数私有成员变量和对应的setXxx()方法和getXxx()方法其中xxx是属性名(与私有成员变量名没有必然联系,但建议把xxx作为变量名)。getXxx()方法是public类型的对于布尔型属性,可以采用is代替getJavaBean组件在JSP中可以通过标签来操作。Bean设计规范是为了满足标签操作需要!2.JavaBean组件(1)什么是JavaBe(2)JavaBean标签<jsp:useBeanid=“obj”class=“bit.Person”scope=“page”/><%bit.Personobj=newbit.Person();%><jsp:setPropertyname=“obj”property=“age”value=“32”/><%obj.setAge(32);%><jsp:getPropertyname=“obj”property=“age”/><%=obj.getAge()%>使用标记操作JavaBean组件语法更简单,功能更强大!举例:通过JavaBean组件设置和访问Person对象的姓名指定或新建一个bean实例obj(2)JavaBean标签<jsp:useBeanid=(3)Form和JavaBean组件的交互表单信息的提交是非常基本的应用,利用JavaBean组件接收form提交的数据语法比较简洁。核心思想:将form映射为一个JavaBean组件,form中的各个控件按照名称自动关联到JavaBean中的各个属性!<jsp:setPropertyname=“bean名"property="*"/>举例:登录页面login.jsp文本框控件name=“username”、密码框控件name=“password”JavaBean类login.java登录处理页面success.jsp,显示用户名密码。(3)Form和JavaBean组件的交互表单信息的提交是(4)JavaBean组件的生命周期<jsp:useBeanid=“obj”class=“bit.Person”scope=“page”/>声明引用型变量obj指定范围内查找key为“obj”的Bean对象新建Bean对象objBean对象赋值于objobj对象超过使用范围则被删除找到未找到(4)JavaBean组件的生命周期<jsp:useBeanJavaBean四种不同范围的生命周期pagerequestsessionapplication举例:10-9、10-10Counter.javapageDemo.jspJavaBean四种不同范围的生命周期page二、JSP内置标记标记名称标记作用<jsp:useBean>指定范围获取Bean组件,没有就创建<jsp:setProperty>设置Bean组件的属性值<jsp:getProperty>获取Bean组件的属性值<jsp:include>动态页面包含<jsp:forward>页面跳转,request和response保持不变<jsp:plugin>嵌入组件,用于在浏览器中显示一个对象二、JSP内置标记标记名称标记作用<jsp:useBean三、JSP自定义标记JSP内置标记语法简单、功能强大,但是数量有限自定义标记提供了扩展新标记的机制创建自定义标签类,实现标签功能配置标记库描述文件(*.tld),描述标签名及其对应的自定义标签类把标签库描述文件注册到web.xml三、JSP自定义标记一个简单的例子<fontface="ComicSansMS"
size="7"
color="#f35730"><strong><spanstyle="background-color:rgb(247,252,139);">
WelcometoAHPU!
</span></strong></font><mytags:LOGO></mytags:LOGO>一个简单的例子<mytags:LOGO></mytags:L标签库的简单部署将class文件按包结构打包成jar文件(zip压缩文件改扩展名为jar),jar文件复制到WEB-INF/lib中。不配置web-xml,使用的使用写相对路径就行了
<%@tagliburi="/WEB-INF/xxxx.tld"prefix="xxxx"%>标签库的简单部署四、JavaWeb数据库操作一、MySQL数据库基础二、JDBC操作数据库三、JDBC连接池四、JavaWeb数据库操作(一)MySQL数据库基础1、概述MySQL是瑞典的MySQLAB公司开发的一个小型关系型数据库管理系统,(MySQLAB公司2008年1月16号被Sun公司收购)MySQL优点体积小、速度快、开放源代码、免费使用C/C++编写,保证源代码的可移植性可以处理拥有上千万条记录的大型数据库(一)MySQL数据库基础1、概述MySQL是2MySQL的使用使用MySQL6.0绿色版+navicat8.0设计数据库newsdb,有一张表newsid自动编号?数字?字符串?title字符串?keyword字符串?author字符串?time日期时间content文本类型(或者备注类型?10000字以内?)2MySQL的使用使用MySQL6.0绿色版+na(二)JDBC操作数据库JDBC(JavaDataBaseConnectivity)JDBC接口规范(即应用程序员需要熟练掌握的JDBCAPI)符合JDBC接口规范的JDBC驱动程序(*.jar文件)(二)JDBC操作数据库JDBC操作数据库的一般过程1、把JDBC驱动添加到web应用程序中把驱动程序(*.jar文件)添加到WEB-INF文件夹的lib子文件夹中2、指定JDBC驱动名Class.forName(“com.mysql.jdbc.Driver”)3、根据数据库url、用户名、密码建立数据库连接对象Stringurl=“jdbc:mysql://localhost:3306/newsdb?useUnicode=true&characterEncoding=GBK”;Connectionconnect=DriverManager.getConnection(url,username,password);JDBC操作数据库的一般过程1、把JDBC驱动添加到web应JDBC操作数据库的一般过程4、基于数据库连接对象创建数据库操作对象(Statement对象、PreparedStatement对象)Statementstmt=connect.createStatement()5、利用statement对象操作数据库executeQuery(sql)查询性的数据库操作executeUpdate(sql)更新性的数据库操作JDBC操作数据库的一般过程4、基于数据库连接对象创建数据库JDBC操作数据库的一般过程Class.forName(driver);Connectionconnect=DriverManager.getConnection(url,username,password);Statementstmt=connect.createStatement();ResultSetrs=stmt.executeQuery(sql);//sql为数据库查询语句JDBC操作数据库的一般过程(三)JDBC操作MySQL数据库(三)JDBC操作MySQL数据库(四)JDBC访问access数据库1、把access文件设置为ODBC(OpenDatabaseConnectivity)数据源,通过JDBC-ODBC桥访问ODBC数据源,很少用。2、通过JDBC-ODBC驱动直接访问access文件,因为比较方便,所以在小型系统中很常用。driver=“sun.jdbc.odbc.JdbcOdbcDriver”url=“jdbc:odbc:DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=c:\\mydata.mdb”绝对路径很不方便!(四)JDBC访问access数据库1、把access文件设JDBC通过相对路径访问access数据库driver="sun.jdbc.odbc.JdbcOdbcDriver";dbname=“\\database\\news.mdb”filepath=application.getRealPath(dbname);//得到绝对路径filepath=filepath.replaceAll(“\\\\”,“\\\\\\\\”);//java中用“\\”表示“\”url="jdbc:odbc:DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="+filepath;JDBC通过相对路径访问access数据库三、连接池单连接每次访问数据库都创建新的连接,访问完再关闭连接,效率低下连接池数据库连接池负责分配、管理和释放数据库连接,它允许重复使用现有的数据库连接。应用程序请求连接时,连接池为该请求分配连接,用完后再放回到连接池中。连接池中的空闲连接对象数量低于下限时,连接池自动追加一定数量的连接对象,数量高于上限时,连接池将释放一定数量的连接三、连接池单连接Tomcat连接池配置及应用1、配置Tomcat连接池配置Tomcat服务器的conf\context.xml文件2、配置应用程序数据源配置应用程序的web.xml3、添加数据库驱动4、编写测试代码访问数据库Tomcat连接池配置及应用1、配置Tomcatmysql连接池往Tomcat服务器的conf\context.xml文件的根标签内添加:<Resource
name="jdbc/mysql"auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/newsdb?autoReconnect=true"/>1、配置Tomcatmysql连接池往Tomcat服务器的Resource标签的其它属性<Resource 。。。
testOnBorrow="true"
validationQuery="select*fromtablename"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true" />Resource标签的其它属性2、配置应用程序数据源在应用程序的web.xml文件根标签内添加以下内容:
<resource-ref><description>DBConnection</description><res-ref-name>jdbc/mysql</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>2、配置应用程序数据源在应用程序的web.xml文件根标签内3、添加数据库驱动mysqljdbc驱动包复制到应用程序的WEB-INF/lib或者,复制到Tomcat的lib目录下3、添加数据库驱动4.测试代码:JSP页面中添加下面java程序段<%@pageimport=“java.util.*,java.sql.*,javax.sql.*,javax.naming.*”%><%Contextctx=newInitialContext();DataSourceds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");Connectionconn=ds.getConnection();
ResultSetrs=conn.createStatement().executeQuery("select*fromnews");rs.next();out.print(rs.getString("id"));rs.close();%>4.测试代码:JSP页面中添加下面java程序段<%@p五、JSP+JavaBean项目——新闻发布系统模块连接图浏览模块default.jsp后台维护主页面manage.jsp添加页面addnews.jsp删除模块deleteop.jsp添加到数据库addnewsop.jsp编辑模块editnews.jsp显示详细新闻view.jsp添加到数据库savenewsop.jsp五、JSP+JavaBean项目——新闻发布系统模块连接图新闻发布系统——模块连接图浏览模块default.jsp后台维护主页面manage.jsp添加页面addnews.jsp删除模块deleteop.jsp添加到数据库addnewsop.jsp编辑模块editnews.jsp显示详细新闻view.jsp添加到数据库savenewsop.jsp新闻发布系统——模块连接图浏览模块后台维护添加页面删除模块添数据库分析简单设计,只需一张表news设计access数据库news.mdb,有一张表newsid自动编号title文本类型keyword文本类型time日期时间author文本类型content文本类型数据库分析简单设计,只需一张表news数据库表查询查询表中所有记录select*fromnewsorderbyidasc查询表中特定的记录select*fromnewswhereid=‘2011040112345601’数据库表查询数据库表更新修改记录updatenewssettitle=‘titlexxx’,author=‘authorxxx’,whereid=‘idxxx’增加记录insertintonewsvalues(‘idxxx’,‘titlexxx’,’keywordxxx’,now(),...)删除记录deletefromnewswhereid=‘idxxx’数据库表更新修改记录当前时间信息输入到数据库
java.util.Datenow=newjava.util.Date();SimpleDateFormatdateformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Stringtime=dateformat.format(now);
//符合时间格式要求的字符串直接使用于sql语句。当前时间信息输入到数据库编码转换Javaweb开发中,中文处理常常需要做编码转换。如“ISO8859-1”转为“UTF-8”编码转换Javaweb开发中,中文处理常常需要做编码转换。特殊字符处理在javaweb开发中,某些字符需要特殊处理\、单引号、双引号换行符、空格、大于号、小于号等特殊字符处理在javaweb开发中,某些字符需要特殊处理特殊字符(查看:ISOLatin-1字符集)<<>>®注册商标&&
空格©copyright™商标™"
´“
’特殊字符(查看:ISOLatin-1字符集)<<&自动产生id由当前系统时间产生十六位id2011020112345601即2011年2月1日12:34:56,最后两位为自动递增序列自动产生id六、Hibernate框架采用面向对象思想开发相对独立的数据库操作模块,能提高代码的复用Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以很方便地使用对象编程思维来操纵数据库。六、Hibernate框架Hibernate体系结构Hibernate体系结构Hibernate简单应用实例1、MyEclipse中配置数据库连接2、建一个Web项目并添加hibernate框架支持3、利用hibernate反向工程生成实体类、DAO类和映射文件4、编写数据库访问测试代码Hibernate简单应用实例1、MyEclipse中配置数据库连接打开MyEclipseDatabaseExplorer视图:WindowOpenPerspectiveMyEclipseDatabaseExplorerDB浏览器内右击,右键菜单上选择new,输入相关信息。这些信息生成配置文件时有用。1、MyEclipse中配置数据库连接2、建一个Web项目并添加hibernate框架支持右击项目文件夹,右键菜单上选择MyEclipseAddHibernateCapabilites,一路配置(或默认)并next2、建一个Web项目并添加hibernate框架支持3、利用hibernate反向工程生成实体类、DAO类和映射文件打开MyEclipseDatabaseExplorer视图:WindowOpenPerspectiveMyEclipseDatabaseExplorer从数据库浏览器中选中的数据库表(可以选择多个表),右键菜单上选择HibernateReverseEngineering,弹出设置菜单,适当配置(或者默认)并一路next3、利用hibernate反向工程生成实体类、DAO类和映射Hibernate对象的三种状态Hibernate对象的三种状态三个方法:attachDirty,attachClean,mergemerge:将传入的detached状态的对象的属性复制到持久化对象中,并返回该持久化对象。如果该session中没有关联的持久化对象,加载一个,如果传入对象未保存,保存一个副本并作为持久对象返回,传入对象依然保持detached状态。attachDirty:将传入的对象持久化并保存。如果对象未保存(Transient状态),调用save方法保存。如果对象已保存(Detached状态),调用update方法将对象与Session重新关联。attachClean:将传入的对象状态设置为Transient状态。三个方法:attachDirty,attachClean,m4、测试代码——增加记录NewsDAOdao=newNewsDAO();Newsa=newNews();a.setId(id);。。。Sessions=dao.getSession();Transactiontrans=s.beginTransaction();dao.attachDirty(a);//或者dao.save(a)mit();4、测试代码——增加记录修改记录NewsDAOdao=newNewsDAO();Sessions=dao.getSession();Transactiontrans=s.beginTransaction();a=dao.findById("2012042716563811");//或者Newsa=(News)s.get(News.class,"2012042716563811");a.setTitle("修改后的标题");dao.attachDirty(a)//或者s.update(a)
或者dao.save(a)mit();修改记录删除记录NewsDAOdao=newNewsDAO();Sessions=dao.getSession();List<News>list=dao.findByAuthor("张三");Transactiontrans=s.beginTransaction();for(Newsa:list){dao.delete(a);}mit();删除记录第四章
JavaBean技术与Web数据库操作第四章
JavaBean技术与Web数据库操53主要内容一、JavaBean组件技术二、JSP内置标记三、JSP自定义标记四、JavaWeb数据库操作五、JSP+JavaBean项目——新闻发布系统主要内容一、JavaBean组件技术一、JavaBean组件技术JSP页面中,Java语言与各种脚本语言参杂在一起。Java语言用来实现逻辑其它脚本语言用来展现内容不适合在JSP页面中实现复杂逻辑!一般的做法是在JSP页面中展现内容,而把逻辑实现的部分做为一个单独的Java类,在JSP页面中使用Java类的功能。一、JavaBean组件技术JSP页面中,Java语言与各种1.JSP中调用类(1)JSP调用内部类通过<%!%>定义内部类(什么是内部类?)程序10-1:classinjsp.jspJSP调用内部类很不常用。1.JSP中调用类(1(2)JSP调用外部类普通的Java类(外部类)可以被JSP页面自由使用!外部类可以被JSP使用,也可以被其它Java系统使用重用性好、扩展性好、便于调试。程序10-2、10-3:Student.java、useClass.jsp实际应用中,JavaBean组件做为具有特定设计规范的外部类得到非常广泛的使用。(2)JSP调用外部类普通的Java类(外部类)可以被JSP2.JavaBean组件(1)什么是JavaBeanJavaBean是满足Bean设计规范的普通Java类JavaBean类必须有一个不带任何参数的public型构造函数私有成员变量和对应的setXxx()方法和getXxx()方法其中xxx是属性名(与私有成员变量名没有必然联系,但建议把xxx作为变量名)。getXxx()方法是public类型的对于布尔型属性,可以采用is代替getJavaBean组件在JSP中可以通过标签来操作。Bean设计规范是为了满足标签操作需要!2.JavaBean组件(1)什么是JavaBe(2)JavaBean标签<jsp:useBeanid=“obj”class=“bit.Person”scope=“page”/><%bit.Personobj=newbit.Person();%><jsp:setPropertyname=“obj”property=“age”value=“32”/><%obj.setAge(32);%><jsp:getPropertyname=“obj”property=“age”/><%=obj.getAge()%>使用标记操作JavaBean组件语法更简单,功能更强大!举例:通过JavaBean组件设置和访问Person对象的姓名指定或新建一个bean实例obj(2)JavaBean标签<jsp:useBeanid=(3)Form和JavaBean组件的交互表单信息的提交是非常基本的应用,利用JavaBean组件接收form提交的数据语法比较简洁。核心思想:将form映射为一个JavaBean组件,form中的各个控件按照名称自动关联到JavaBean中的各个属性!<jsp:setPropertyname=“bean名"property="*"/>举例:登录页面login.jsp文本框控件name=“username”、密码框控件name=“password”JavaBean类login.java登录处理页面success.jsp,显示用户名密码。(3)Form和JavaBean组件的交互表单信息的提交是(4)JavaBean组件的生命周期<jsp:useBeanid=“obj”class=“bit.Person”scope=“page”/>声明引用型变量obj指定范围内查找key为“obj”的Bean对象新建Bean对象objBean对象赋值于objobj对象超过使用范围则被删除找到未找到(4)JavaBean组件的生命周期<jsp:useBeanJavaBean四种不同范围的生命周期pagerequestsessionapplication举例:10-9、10-10Counter.javapageDemo.jspJavaBean四种不同范围的生命周期page二、JSP内置标记标记名称标记作用<jsp:useBean>指定范围获取Bean组件,没有就创建<jsp:setProperty>设置Bean组件的属性值<jsp:getProperty>获取Bean组件的属性值<jsp:include>动态页面包含<jsp:forward>页面跳转,request和response保持不变<jsp:plugin>嵌入组件,用于在浏览器中显示一个对象二、JSP内置标记标记名称标记作用<jsp:useBean三、JSP自定义标记JSP内置标记语法简单、功能强大,但是数量有限自定义标记提供了扩展新标记的机制创建自定义标签类,实现标签功能配置标记库描述文件(*.tld),描述标签名及其对应的自定义标签类把标签库描述文件注册到web.xml三、JSP自定义标记一个简单的例子<fontface="ComicSansMS"
size="7"
color="#f35730"><strong><spanstyle="background-color:rgb(247,252,139);">
WelcometoAHPU!
</span></strong></font><mytags:LOGO></mytags:LOGO>一个简单的例子<mytags:LOGO></mytags:L标签库的简单部署将class文件按包结构打包成jar文件(zip压缩文件改扩展名为jar),jar文件复制到WEB-INF/lib中。不配置web-xml,使用的使用写相对路径就行了
<%@tagliburi="/WEB-INF/xxxx.tld"prefix="xxxx"%>标签库的简单部署四、JavaWeb数据库操作一、MySQL数据库基础二、JDBC操作数据库三、JDBC连接池四、JavaWeb数据库操作(一)MySQL数据库基础1、概述MySQL是瑞典的MySQLAB公司开发的一个小型关系型数据库管理系统,(MySQLAB公司2008年1月16号被Sun公司收购)MySQL优点体积小、速度快、开放源代码、免费使用C/C++编写,保证源代码的可移植性可以处理拥有上千万条记录的大型数据库(一)MySQL数据库基础1、概述MySQL是2MySQL的使用使用MySQL6.0绿色版+navicat8.0设计数据库newsdb,有一张表newsid自动编号?数字?字符串?title字符串?keyword字符串?author字符串?time日期时间content文本类型(或者备注类型?10000字以内?)2MySQL的使用使用MySQL6.0绿色版+na(二)JDBC操作数据库JDBC(JavaDataBaseConnectivity)JDBC接口规范(即应用程序员需要熟练掌握的JDBCAPI)符合JDBC接口规范的JDBC驱动程序(*.jar文件)(二)JDBC操作数据库JDBC操作数据库的一般过程1、把JDBC驱动添加到web应用程序中把驱动程序(*.jar文件)添加到WEB-INF文件夹的lib子文件夹中2、指定JDBC驱动名Class.forName(“com.mysql.jdbc.Driver”)3、根据数据库url、用户名、密码建立数据库连接对象Stringurl=“jdbc:mysql://localhost:3306/newsdb?useUnicode=true&characterEncoding=GBK”;Connectionconnect=DriverManager.getConnection(url,username,password);JDBC操作数据库的一般过程1、把JDBC驱动添加到web应JDBC操作数据库的一般过程4、基于数据库连接对象创建数据库操作对象(Statement对象、PreparedStatement对象)Statementstmt=connect.createStatement()5、利用statement对象操作数据库executeQuery(sql)查询性的数据库操作executeUpdate(sql)更新性的数据库操作JDBC操作数据库的一般过程4、基于数据库连接对象创建数据库JDBC操作数据库的一般过程Class.forName(driver);Connectionconnect=DriverManager.getConnection(url,username,password);Statementstmt=connect.createStatement();ResultSetrs=stmt.executeQuery(sql);//sql为数据库查询语句JDBC操作数据库的一般过程(三)JDBC操作MySQL数据库(三)JDBC操作MySQL数据库(四)JDBC访问access数据库1、把access文件设置为ODBC(OpenDatabaseConnectivity)数据源,通过JDBC-ODBC桥访问ODBC数据源,很少用。2、通过JDBC-ODBC驱动直接访问access文件,因为比较方便,所以在小型系统中很常用。driver=“sun.jdbc.odbc.JdbcOdbcDriver”url=“jdbc:odbc:DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=c:\\mydata.mdb”绝对路径很不方便!(四)JDBC访问access数据库1、把access文件设JDBC通过相对路径访问access数据库driver="sun.jdbc.odbc.JdbcOdbcDriver";dbname=“\\database\\news.mdb”filepath=application.getRealPath(dbname);//得到绝对路径filepath=filepath.replaceAll(“\\\\”,“\\\\\\\\”);//java中用“\\”表示“\”url="jdbc:odbc:DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="+filepath;JDBC通过相对路径访问access数据库三、连接池单连接每次访问数据库都创建新的连接,访问完再关闭连接,效率低下连接池数据库连接池负责分配、管理和释放数据库连接,它允许重复使用现有的数据库连接。应用程序请求连接时,连接池为该请求分配连接,用完后再放回到连接池中。连接池中的空闲连接对象数量低于下限时,连接池自动追加一定数量的连接对象,数量高于上限时,连接池将释放一定数量的连接三、连接池单连接Tomcat连接池配置及应用1、配置Tomcat连接池配置Tomcat服务器的conf\context.xml文件2、配置应用程序数据源配置应用程序的web.xml3、添加数据库驱动4、编写测试代码访问数据库Tomcat连接池配置及应用1、配置Tomcatmysql连接池往Tomcat服务器的conf\context.xml文件的根标签内添加:<Resource
name="jdbc/mysql"auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/newsdb?autoReconnect=true"/>1、配置Tomcatmysql连接池往Tomcat服务器的Resource标签的其它属性<Resource 。。。
testOnBorrow="true"
validationQuery="select*fromtablename"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true" />Resource标签的其它属性2、配置应用程序数据源在应用程序的web.xml文件根标签内添加以下内容:
<resource-ref><description>DBConnection</description><res-ref-name>jdbc/mysql</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>2、配置应用程序数据源在应用程序的web.xml文件根标签内3、添加数据库驱动mysqljdbc驱动包复制到应用程序的WEB-INF/lib或者,复制到Tomcat的lib目录下3、添加数据库驱动4.测试代码:JSP页面中添加下面java程序段<%@pageimport=“java.util.*,java.sql.*,javax.sql.*,javax.naming.*”%><%Contextctx=newInitialContext();DataSourceds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");Connectionconn=ds.getConnection();
ResultSetrs=conn.createStatement().executeQuery("select*fromnews");rs.next();out.print(rs.getString("id"));rs.close();%>4.测试代码:JSP页面中添加下面java程序段<%@p五、JSP+JavaBean项目——新闻发布系统模块连接图浏览模块default.jsp后台维护主页面manage.jsp添加页面addnews.jsp删除模块deleteop.jsp添加到数据库addnewsop.jsp编辑模块editnews.jsp显示详细新闻view.jsp添加到数据库savenewsop.jsp五、JSP+JavaBean项目——新闻发布系统模块连接图新闻发布系统——模块连接图浏览模块default.jsp后台维护主页面manage.jsp添加页面addnews.jsp删除模块deleteop.jsp添加到数据库addnewsop.jsp编辑模块editnews.jsp显示详细新闻view.jsp添加到数据库savenewsop.jsp新闻发布系统——模块连接图浏览模块后台维护添加页面删除模块添数据库分析简单设计,只需一张表news设计access数据库news.mdb,有一张表newsid自动编号title文本类型keyword文本类型time日期时间author文本类型content文本类型数据库分析简单设计,只需一张表news数据库表查询查询表中所有记录select*fromnewsorderbyidasc查询表中特定的记录select*fromnewswhereid=‘2011040112345601’数据库表查询数据库表更新修改记录updatenewssettitle=‘titlexxx’,author=‘authorxxx’,whereid=‘idxxx’增加记录insertintonewsvalues(‘idxxx’,‘titlexxx’,’keywordxxx’,now(),...)删除记录deletefromnewswhereid=‘idxxx’数据库表更新修改记录当前时间信息输入到数据库
java.util.Datenow=newjava.util.Date();SimpleDateFormatdateformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Stringtime=dateformat.format(now);
//符合时间格式要求的字符串直接使用于sql语句。当前时间信息输入到数据库编码转换Javaweb开发中,中文处理常常需要做编码转换。如“ISO8859-1”转为“UTF-8”编码转换Javaweb开发中,中文处理常常需要做编码转换。特殊字符处理在javaweb开发中,某些字符需要特殊处理\、单引号、双引号换行符、空格、大于号、小于号等特殊字符处理在javaweb开发中,某些字符需要特殊处理特殊字符(查看:ISOLatin-1字符集)<<>>®注册商标&&
空格©copyright™商标™"
´“
’特殊字符(查看:IS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022幼儿园元旦活动总结范文5篇
- 2022年建筑施工工作总结三篇
- 豫满全球电商培训
- 石河子大学《足球》2022-2023学年第一学期期末试卷
- 石河子大学《食品工艺学实验》2022-2023学年第一学期期末试卷
- 石河子大学《心理测量学》2022-2023学年第一学期期末试卷
- 石河子大学《家畜环境卫生学》2023-2024学年第一学期期末试卷
- 石河子大学《法律文书》2023-2024学年期末试卷
- 沈阳理工大学《商务俄语翻译》2023-2024学年第一学期期末试卷
- 沈阳理工大学《建筑设计》2021-2022学年第一学期期末试卷
- 合理用药健康教育教学课件
- 初三【语文(统编)】《范进中举》中人物丑态的表现课件2
- 家庭教育重要性-课件
- HCCDP 云迁移认证理论题库
- 托伐普坦药物治疗进展课件
- 新《煤矿安全规程》第10讲 《煤矿安全规程》关于井下电气事故防治规定
- 做一粒种子中考满分作文(8篇)
- 非饱和土力学培训讲义绪论
- 2021儿童体格发育评估与管理临床实践专家共识
- 建筑工程概预算知到章节答案智慧树2023年浙江广厦建设职业技术大学
- 英语漫谈胶东海洋文化知到章节答案智慧树2023年威海海洋职业学院
评论
0/150
提交评论