最近闲着用dwr做了个类似 163 新闻导航,在多种新闻类型下切换,无须刷新:
step1: 下载DWR包
step2: 构建数据库
sql 代码
- if exists (select 1
- from sysobjects
- where id = object_id('AJAX_NEW')
- and type = 'U')
- drop table AJAX_NEW
- go
-
-
- /*==============================================================*/
- /* Table: AJAX_NEW */
- /*==============================================================*/
- create table AJAX_NEW (
- ID integer not null,
- NEW_TITLE VARCHAR(100) null,
- NEW_AUTHER VARCHAR(30) null,
- NEW_TYPE VARCHAR(30) null,
- NEW_CONTENT VARCHAR(500) null,
- constraint PK_AJAX_NEW primary key (ID)
- )
- go
step3 搭建Struts,Hibernate框架,生成Hibernae配置文件以及po类:
java 代码
- package com.fzfx88.conf;
-
-
-
-
-
-
-
- public abstract class AbstractAjaxNew implements java.io.Serializable {
-
-
- private Integer id;
- private String newTitle;
- private String newAuther;
- private String newType;
- private String newContent;
-
-
-
-
- public AbstractAjaxNew() {
- }
-
-
-
- public AbstractAjaxNew(String newTitle, String newAuther, String newType, String newContent) {
- this.newTitle = newTitle;
- this.newAuther = newAuther;
- this.newType = newType;
- this.newContent = newContent;
- }
-
-
-
-
- public Integer getId() {
- return this.id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public String getNewTitle() {
- return this.newTitle;
- }
-
- public void setNewTitle(String newTitle) {
- this.newTitle = newTitle;
- }
-
- public String getNewAuther() {
- return this.newAuther;
- }
-
- public void setNewAuther(String newAuther) {
- this.newAuther = newAuther;
- }
-
- public String getNewType() {
- return this.newType;
- }
-
- public void setNewType(String newType) {
- this.newType = newType;
- }
-
- public String getNewContent() {
- return this.newContent;
- }
-
- public void setNewContent(String newContent) {
- this.newContent = newContent;
- }
- }
PO类,MyEclipse 5.1.1生成:
java 代码
- package com.fzfx88.conf;
-
-
-
-
-
-
- public class AjaxNew extends AbstractAjaxNew implements java.io.Serializable {
-
-
-
-
- public AjaxNew() {
- }
-
-
-
- public AjaxNew(String newTitle, String newAuther, String newType, String newContent) {
- super(newTitle, newAuther, newType, newContent);
- }
-
- }
Hibernate AjaxNew.hbm.xml配置文件
xml 代码
- <!--sp-->xml version="1.0"?>
- <!--CTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" </sp-->
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
- <hibernate-mapping>
- <class name="com.fzfx88.conf.AjaxNew" table="AJAX_NEW" schema="dbo" catalog="pepsi">
- <id name="id" type="java.lang.Integer">
- <column name="ID" />
- <generator class="identity" />
- id>
- <property name="newTitle" type="java.lang.String">
- <column name="NEW_TITLE" length="100" />
- property>
- <property name="newAuther" type="java.lang.String">
- <column name="NEW_AUTHER" length="30" />
- property>
- <property name="newType" type="java.lang.String">
- <column name="NEW_TYPE" length="30" />
- property>
- <property name="newContent" type="java.lang.String">
- <column name="NEW_CONTENT" length="500" />
- property>
- class>
- hibernate-mapping>
step:4 构建 Action 类:
java 代码
-
-
-
- package com.fzfx88.base.action;
-
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
-
- import com.fzfx88.base.form.AjaxNewsSystemForm;
- import com.fzfx88.base.service.AjaxNewsSystemService;
- import com.fzfx88.common.base.BaseAction;
- import com.fzfx88.conf.AjaxNew;
-
-
-
-
-
- public class AjaxNewsSystemAction extends BaseAction {
- AjaxNewsSystemService nService = new AjaxNewsSystemService();
-
-
-
-
-
-
-
-
- public ActionForward init(ActionMapping mapping,ActionForm form,
- HttpServletRequest request,HttpServletResponse response){
- AjaxNewsSystemForm nForm = (AjaxNewsSystemForm)form;
- AjaxNew news = nForm.getNews();
- return mapping.findForward("init");
- }
-
-
-
-
-
-
-
-
- public ActionForward save(ActionMapping mapping,ActionForm form,
- HttpServletRequest request,HttpServletResponse response){
- AjaxNewsSystemForm nForm = (AjaxNewsSystemForm)form;
- AjaxNew news = nForm.getNews();
- if(nService.createNews(news)){
- return mapping.findForward("success");
- }else{
- return mapping.findForward("false");
- }
- }
-
- }
step 5: 构建数据层访问类:
java 代码
-
-
-
- package com.fzfx88.base.service;
-
- import java.util.ArrayList;
- import java.util.List;
-
- import org.hibernate.Hibernate;
- import org.hibernate.HibernateException;
- import org.hibernate.Query;
- import org.hibernate.Session;
- import org.hibernate.Transaction;
-
- import com.fzfx88.conf.AjaxNew;
- import com.fzfx88.util.HibernateUtil;
-
-
-
-
-
- public class AjaxNewsSystemService {
-
-
-
-
- public boolean createNews(AjaxNew news){
- Session session=HibernateUtil.currentSession();
- Transaction tran=session.beginTransaction();
- try{
- session.save(news);
- tran.commit();
- session.flush();
- } catch (HibernateException e) {
- if(tran!=null){
- tran.rollback();
- }
- e.printStackTrace();
- return false;
- }finally {
- HibernateUtil.closeSession();
- }
- return true;
- }
-
-
-
-
-
- public List queryStoreList(String newType){
- List storeList =new ArrayList();
- Session session=HibernateUtil.currentSession();
- Transaction tran=session.beginTransaction();
- String sql="from AjaxNew where newType=:newType ";
- try {
- Query query=session.createQuery(sql);
- query.setParameter("newType",newType);
- storeList=query.list();
- } catch (HibernateException e) {
- if(tran!=null){
- tran.rollback();
- }
- e.printStackTrace();
- }finally {
- HibernateUtil.closeSession();
- }
- return storeList;
- }
-
-
-
-
-
- public AjaxNew retrieveAjaxNew(String newId){
- Integer id = Integer.parseInt(newId);
- Session session=HibernateUtil.currentSession();
- String sql="from AjaxNew w where w.id=:id ";
- AjaxNew item=null;
- try {
- Query query=session.createQuery(sql);
- query.setParameter("id",id);
-
- item=(AjaxNew)query.uniqueResult();
- if(Hibernate.isInitialized(item)){
- Hibernate.initialize(item);
- }
- } catch (HibernateException e) {
- e.printStackTrace();
- }finally {
- HibernateUtil.closeSession();
- }
- return item;
- }
- }
step 6: 构建Struts Form .................AjaxNewsSystemForm.java
step 7 :Struts 配置文件:
xml 代码
- <!--sp-->xml version="1.0" encoding="UTF-8"?>
- <!--CTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"</sp-->>
-
- <struts-config>
- <data-sources/>
- <form-beans>
- <form-bean name="AjaxNewsSystemForm" type="com.fzfx88.base.form.AjaxNewsSystemForm" />
- form-beans>
- <global-exceptions />
-
- <global-forwards>
- <forward name="success" path="/regSuccess.htm"/>
- <forward name="false" path="/false.htm"/>
- global-forwards>
- <action-mappings>
- <action name="AjaxNewsSystemForm"
- path="/news"
- type="com.fzfx88.base.action.AjaxNewsSystemAction"
- scope="request">
- <forward name="init" path="/base/news.jsp"/>
- action>
- action-mappings>
- <message-resources parameter="resource.ApplicationResources" />
- struts-config>
-
分享到:
相关推荐
在这个“dwr实现实时刷新实例”中,我们将深入探讨DWR如何实现无页面跳动的刷新机制,并关注线程管理和数据库更新。 首先,DWR的核心功能是提供异步通信,使得前端可以实时获取服务器端的变化,而无需刷新整个页面...
DWR (Direct Web Remoting) 是一个开源JavaScript库,它允许Web应用程序与服务器端Java对象进行实时交互,实现异步更新页面,无需刷新整个页面。这个压缩包文件"dwrtest"很可能包含了9个经典的DWR实例,这些实例通常...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来创建富客户端界面,使得用户可以在不...
"MyDwr"可能是一个示例项目,展示了如何在实际应用中使用DWR进行无刷新开发。 综上所述,DWR和AJAX的结合为Web开发者提供了强大的工具,以实现无刷新的交互体验。通过学习和应用这些技术,开发者可以创建出更现代、...
本实例"DWRSpring实例"是一个使用DWR与Spring框架结合的消息发布系统,包含了基础的CRUD(Create、Read、Update、Delete)操作。通过这个例子,我们可以深入理解DWR和Spring如何协同工作,以及它们在实际开发中的...
DWR 是一个开源JavaScript库,允许Web应用程序在客户端和服务器之间进行实时通信,即实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript与Java后端服务的交互,让开发者能够调用服务器上的方法,就像它们是...
DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现JavaScript和服务器端Java对象之间的双向通信。它使得动态、实时的交互成为可能,极大地增强了用户体验。在这个"dwr工程实例"中,我们将探讨如何...
### dwr实例教程知识点解析 #### 一、DWR简介及功能特点 DWR(Direct Web Remoting)是一种简化...无论是简单的登录验证还是复杂的菜单刷新功能,DWR都能很好地胜任,是学习和开发Web应用程序的一个非常实用的工具。
自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助
Spring Direct Web Remoting (DWR) 是一个Java库,它允许Web应用程序轻松地在客户端JavaScript和服务器端Java之间进行交互。这个技术的核心功能是提供了一种机制,使得动态的、实时的Web应用成为可能,无需刷新整个...
DWR(Direct Web Remoting)是一种JavaScript和Java之间的远程调用技术,它允许Web应用在不刷新整个页面的情况下与服务器进行交互,从而实现动态更新和实时反馈的效果。在DWR中,JavaScript对象可以直接调用后台的...
DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,无需Ajax的页面刷新。这个"DWR开发实例"是一个专门为学习DWR技术准备的实践项目,旨在帮助开发者理解DWR的核心功能和...
DWR (Direct Web Remoting) 是一个开源的Java框架,用于在浏览器和服务器之间实现动态、实时的Web应用交互。这个框架允许JavaScript直接调用服务器端的Java方法,就像它们是本地函数一样,极大地简化了AJAX...
通过实践一个简单的DWR实例,你可以更好地理解如何在实际项目中使用它来构建高效、响应式的Web应用。随着对DWR的深入理解和应用,你会发现它不仅可以提升开发效率,还能显著提升应用的用户体验。
DWR(Direct Web Remoting)是Java后端与JavaScript前端之间进行实时通信的一种框架,它简化了Ajax应用的开发,让开发者可以像调用本地方法一样调用服务器端的方法。 **DWR的介绍** DWR允许JavaScript在客户端直接...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需刷新整个页面。这个"**dwr.demo dwr实例**"很可能是用来展示如何在实际项目中集成和使用DWR的...
dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr...
DWR(Direct Web Remoting)是一个开源的Java框架,它允许JavaScript在客户端与服务器端进行直接的、异步的数据交换,极大地增强了Web应用的用户体验。在这个"ajax的dwr框架实例"中,我们将探讨如何利用DWR与MySQL...