java ee ssh_JavaEE---------SSH使用实例

今天讲的是整合SSH框架,用一个图书信息小系统来实现,快速帮你构建网站后台

首先我们应该把相应的Struts 2,Hibernate,Spring导入到你的工程中去,下面给出我用的库集合

把库添加到Build path中去,

先改web.xml,它是整个web应用的核心,不要说不知道在哪里,指明使用Struts2 拦截请求,Spring监听

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

index.jsp

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

contextConfigLocation

classpath:applicationContext.xml

org.springframework.web.context.ContextLoaderListener

在src目录下创建applicationContext.xml,在连接数据库的时候不要再创建hibernate.cfg.xml,直接用Spring提供的连接方法就好,要不然可能出错(本人经验)

com/bq/Book.hbm.xml

org.hibernate.dialect.MySQLDialect

true

创建Struts 2核心配置文件,不要喷我,我喜欢一个个类那样写,你也可以在一个类中指定不同的方法来处理不同的请求

/show.jsp

/index.jsp

/book.jsp

/index.jsp

query

/book.jsp

query

/show.jsp

query

/show.jsp

整体框架就有了,下来就是各个类了

先看实体类及其Hibernate映射文件

Book.java

packagecom.bq;/***@author白强

**/

public classBook {private intid;privateString name;privateString detail;public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}publicString getDetail() {returndetail;

}public voidsetDetail(String detail) {this.detail =detail;

}

@OverridepublicString toString() {return "Book [id=" + id + ", name=" + name + ", detail=" +detail+ "]";

}

}

Book.hbm.xml

/p>

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

然后是写DAO层

接口BookDAO.java

packagecom.bq;importjava.util.List;public interfaceBookDAO {

List getAll();//获得所有记录

List getBook(int pageSize, int startRow);//获得所有记录

List queryBook(String fieldname,String value);//根据条件查询

Book getBook(int id);//根据ID获得记录

void addBook(Book book);//添加记录

void updateBook(Book book);//修改记录

void deleteBook(Book book);//删除记录

}

DAO实现类

DAOImplement.java,里面用到

this.getHibernateTemplate()的方法来自Spring

可以利用它来完成数据库操作

packagecom.bq;importjava.util.List;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;/***@author白强

**/

public class DAOImplement extends HibernateDaoSupport implementsBookDAO{publicDAOImplement() {

}

@OverridepublicList getAll() {

String sql="from Book";return this.getHibernateTemplate().find(sql);

}

@Overridepublic List getBook(int pageSize, intstartRow) {return null;

}

@OverridepublicList queryBook(String fieldname, String value) {

System.out.println("value: "+value);

String sql="FROM Book where "+fieldname+" like '%"+value+"%'";return this.getHibernateTemplate().find(sql);

}

@Overridepublic Book getBook(intid) {return (Book)this.getHibernateTemplate().get(Book.class,id);

}

@Overridepublic voidaddBook(Book book) {this.getHibernateTemplate().save(book);

}

@Overridepublic voidupdateBook(Book book) {this.getHibernateTemplate().update(book);

}

@Overridepublic voiddeleteBook(Book book) {this.getHibernateTemplate().delete(book);

}

}

写Service层

BookService.java

packagecom.bq;importjava.util.List;/***@author白强

**/

public classBookService {privateBookDAO bookDao;publicBookDAO getBookDao() {returnbookDao;

}public voidsetBookDao(BookDAO bookDao) {this.bookDao =bookDao;

}/*** 函数说明:获得一条的信息 参数说明: ID 返回值:对象*/

public Book getBook(intbookId) {returnbookDao.getBook(bookId);

}/*** 函数说明:修改信息 参数说明: 对象 返回值:*/

public voidupdateBook(Book book) {

bookDao.updateBook(book);

}/*** 函数说明:查询信息 参数说明: 集合 返回值:*/

publicList queryBook(String fieldname, String value) {returnbookDao.queryBook(fieldname, value);

}publicList queryBook() {returnbookDao.getAll();

}public voidaddBook(Book book) {

bookDao.addBook(book);

}public voiddelBook(Book book) {

bookDao.deleteBook(book);

}

}

这个时候我们的Service就写好了,然后再在控制Action中调用Service的方法就可以了

QueryBook.java 查询得到List

packagecom.bq;importjava.util.List;importcom.opensymphony.xwork2.ActionSupport;/***@author白强

**/

public class QueryBook extendsActionSupport {privateBook book;privateBookService service;private Listlist;publicBook getBook() {returnbook;

}public voidsetBook(Book book) {this.book =book;

}publicBookService getService() {returnservice;

}public voidsetService(BookService service) {this.service =service;

}public ListgetList() {returnlist;

}public void setList(Listlist) {this.list =list;

}

@Overridepublic String execute() throwsException {if(service.queryBook()!=null){

list=service.queryBook();returnSUCCESS;

}else{returnINPUT;

}

}

}

添加Book

AddBook.java

packagecom.bq;importcom.opensymphony.xwork2.ActionSupport;/***@author白强

**/

public class AddBook extendsActionSupport{privateBook book;privateBookService service;publicBook getBook() {returnbook;

}public voidsetBook(Book book) {this.book =book;

}publicBookService getService() {returnservice;

}public voidsetService(BookService service) {this.service =service;

}

@Overridepublic String execute() throwsException {

System.out.println(book.toString());

service.addBook(book);returnSUCCESS;

}

}

根据id得到Book

GetBook.java

packagecom.bq;importcom.opensymphony.xwork2.ActionSupport;public class GetBook extendsActionSupport {private intid;privateBook book;privateBookService service;public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicBook getBook() {returnbook;

}public voidsetBook(Book book) {this.book =book;

}publicBookService getService() {returnservice;

}public voidsetService(BookService service) {this.service =service;

}

@Overridepublic String execute() throwsException {if(service.getBook(getId())!=null){

book=service.getBook(getId());//service.updateBook(b);

returnSUCCESS;

}else{returnINPUT;

}

}

}

根据id更新Book

ChangeBook.java

packagecom.bq;importcom.opensymphony.xwork2.ActionSupport;/***@author白强

**/

public class ChangeBook extendsActionSupport{privateBook book;privateBookService service;publicBook getBook() {returnbook;

}public voidsetBook(Book book) {this.book =book;

}publicBookService getService() {returnservice;

}public voidsetService(BookService service) {this.service =service;

}

@Overridepublic String execute() throwsException {

System.out.println(book.toString());if(service.getBook(book.getId())!=null){

Book b=service.getBook(book.getId());

service.updateBook(book);returnSUCCESS;

}else{returnINPUT;

}

}

}

根据id删除Book

DelBook.java

packagecom.bq;importcom.opensymphony.xwork2.ActionSupport;/***@author白强

**/

public class DelBook extendsActionSupport {private intid;privateBook book;privateBookService service;public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicBook getBook() {returnbook;

}public voidsetBook(Book book) {this.book =book;

}publicBookService getService() {returnservice;

}public voidsetService(BookService service) {this.service =service;

}

@Overridepublic String execute() throwsException {if(service.getBook(getId())!=null){

service.delBook(service.getBook(getId()));returnSUCCESS;

}else{returnINPUT;

}

}

}

实现数据库的基本操作 增删改查 即可

最后附上所有的jsp文件

index.jsp

Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

">

欢迎

欢迎来到SSH整合测试页面

点击进入  增加书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值