知识大全 实战JSP进阶编程之一
Posted 知
篇首语:守株待兔只能得一餐饱,主动出击方能丰衣足食。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 实战JSP进阶编程之一相关的知识,希望对你有一定的参考价值。
实战JSP进阶编程之一 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
不少JSP初学者在学会简单的jsp编程后 往往停留在用jsp里面的sql语句调一个javabean进行数据库连接阶段 止步不前了
这个简单的教程希望能够有助于初学者学会用oop思想进行jsp编程
场景 一个简单的新闻系统 有 - 个数据表构成 数据库系统用的是Mysql 当然用其它的也类似 先看第一个数据表 也是主要的数据表:news
create table news (newsid int not null userid int kwid int // 关键词外键 title varchar( ) content text hits int cdate varchar ( ) mdate varchar ( ) primary key(newsid));
再插入一个样本数据
insert into news (newsid title content) values ( test title test body );
设计思路 用mvc模式编程 将数据以一个helper class News java 打包 并通过NewsDAO java进行数据库操作 设计阶段 用UML勾画出系统的object 此处省略
NewsDAO的主要方法有 public News getNewsByPrimaryKey(int newsid); public News[] getRecentNews(); public News[] getHotNews();
News java的代码如下
package news;
public class News private int newsid; private int userid; private int kwid; private int hits; private String title; private String content; private String cdate; private String mdate;
public News() public News(int newsid int userid int kwid int hits String title String content String cdate) this newsid=newsid; this userid=userid; this kwid=kwid; this hits=hits; this title=title; this content=content; this cdate=cdate;
public News(int id String t String cnt) this newsid = id; this title = t; this content = cnt; public int getNewsid() return newsid; public void setNewsid(int newsid) this newsid=newsid;
public int getUserid() return userid; public void setUserid(int userid) this userid=userid;
public int getKwid() return kwid; public void setKwid(int kwid) this kwid=kwid;
public int getHits() return hits; public void setHits(int hits) this hits=hits;
public String getTitle() return title; public void setTitle(String title) this title=title;
public String getContent() return content; public void setContent(String content) this content=content;
public String getCdate() return cdate; public void setCdate(String cdate) this cdate=cdate;
说明 这个程序可以用作javabean 作为录入表单的参数携带者(params Holder)
最主要的文件NewsDAO java代码如下
package news;
import java sql *;
public class NewsDAO
Connection conn = null; Statement stmt = null; ResultSet rs = null; String url="jdbc:mysql://localhost: /joke?user=root";
public NewsDAO() try Class forName (" mysql jdbc Driver"); catch (java lang ClassNotFoundException e) System err println("joke():"+e getMessage());
public News getNewsByPrimaryKey(int newsid) throws SQLException Connection conn=null; Statement stmt; ResultSet rs; News news = null;
String sql="select newsid title content from news "+ " where newsid="+newsid+""; conn = getConnection(); stmt = conn createStatement(); rs=stmt executeQuery(sql);
if(rs next()) news = new News(rs getInt( ) rs getString( ) rs getString( )); rs close(); stmt close(); conn close(); return news;
private Connection getConnection() throws SQLException Connection conn = null; conn = DriverManager getConnection(url); return conn;
说明 这个程序作为示例代码 非常简单 没有考虑异常 更主要的method 如getRecentNews()等 大家可以自己参考实现
简单的jsp调用测试程序 getNews jsp
<%@page contentType="text/;charset=gb " %> <%@page import="news *" %> <% NewsDAO newsDao = new NewsDAO(); News news = newsDao getNewsByPrimaryKey( ); if(news != null) out println("Title:"+news getTitle()); out println("<br>"); out println("Body:"+news getContent()); else out println("Failed "); %>
说明 这个简化实现其实是DAO模式的省略形式 还应该有interface dao factory的
有时间的话 可能以后会给出示例 当然 大家在熟悉oop方式之后 也能够自己补齐
还有 编译的时候 用 javac news/* java 就可以了
cha138/Article/program/Java/JSP/201311/20088相关参考
进阶教程——Java网络编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java最初是作为一
知识大全 Java编程那些事儿14——Eclipse基础使用进阶
Java编程那些事儿14——Eclipse基础使用进阶 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 Java进阶 关于Java Socket编程的详细介绍[2]
Java进阶关于JavaSocket编程的详细介绍[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 Java进阶 关于Java Socket编程的详细介绍[1]
Java进阶关于JavaSocket编程的详细介绍[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
JSP页面跳转的实战规则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Ar
实战体会Java多线程编程精要 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Java程序中使
实战体会Java多线程编程的精要 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Java程序中
Struts模块化编程经典实战教程(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言
Struts模块化编程经典实战教程(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! STRU
实战Java多线程编程精要之高级支持 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 线程组 线