最近闲着用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>
-
分享到:
相关推荐
ListView上下翻页效果
Android项目之——漂亮的平台书架
TestBrightness2
gee python 教程(西班牙语)
# 基于Linux和GTK的系统监控与图形化显示 ## 项目简介 本项目旨在通过分析Linux系统中的proc目录,提取并展示系统的关键信息,包括系统概况、进程信息和内存使用情况。通过使用GTK库,项目提供了一个图形化的用户界面,使用户能够直观地查看和监控系统的实时状态。 ## 项目的主要特性和功能 1. 系统信息展示 显示内核版本、系统启动时间等基本信息。 提供系统的主机名、CPU详细参数等信息。 2. 进程信息展示 显示所有进程的摘要信息,包括PID、CPU和内存使用率。 支持根据CPU使用率、内存使用率等参数对进程进行排序。 3. 内存信息展示 展示系统的内存使用情况,包括总内存、可用内存等详细参数。 4. 动态刷新 系统信息、进程信息和内存信息能够实时动态刷新,确保用户获取最新的系统状态。 5. 图形化界面 使用GTK库创建直观的图形界面,方便用户查看和操作。
纯c语言迷宫源码
c语言通讯录管理系统源码
功能列表 支持多种唤醒方式:语音唤醒,局域网消息唤醒,外设模块唤醒,远程唤醒 语音端点检测:自动检测语音截止点 语音识别:支持在线与离线双模式 文字转语音:舒适的人声 接续对话:完成交互对话全程只需唤醒一次 支持对话中断:可在任意时刻打断对话,重新提问 双引擎可选交互:接入GPT/星火大模型,支持聊天上下文,具有互联网搜索能力,并适时总结对话 聊天记忆:在程序结束后保存聊天内容,重新运行时自动加载 通知播报:手机上接收的消息(熄屏时)以自定义格式播报 音乐播放:获取QQ音乐个性推荐,支持调整音量,切换,暂停 音频闪避:在聊天交互/通知播报时自动减小音乐音量 日程设定:支持设定闹钟/倒计时,以及提醒事项 WebUI调参:可通过电脑和手机登录网页调参 外设控制:支持接入自定义设备(MQTT协议),配置相关文件可实现自动化 自动化智能家居:传入自定义状态,支持自定义场景触发自定义动作 远程控制:支持广域网MQTT设备控制 HomeAssistant:支持通过API控制HA下的设备
c语言实现类似弹力球效果
c语言实现的汉诺塔演示程序
c语言连连看游戏源码
# 基于Arduino框架的自动称重系统 ## 项目简介 本项目是一个基于Arduino框架的自动称重系统。它利用Arduino硬件和Adafruit的ADS1115 ADC(模数转换器)库,实现了从负载单元读取重量数据并通过串行通信将数据传输到PC或其他设备的功能。项目还包含了LCD屏幕显示和LED指示灯的控制,以及对数据库的操作和Web交互的支持。 ## 项目的主要特性和功能 1. 硬件连接与通信: 项目使用了Arduino和ADS1115 ADC之间的串行通信,实现了从负载单元读取重量数据的功能。 2. 数据处理: 通过ADC读取的重量数据被处理并转换为可读的数值,然后通过串行端口发送到PC或其他设备。 3. 用户界面: 包含了LCD屏幕显示和LED指示灯的控制,用于实时显示重量数据或指示重量状态。 4. 数据库操作: 项目支持通过串行通信与数据库交互,实现数据的存储和查询。
双鱼林jsp版超市信息管理系统
C语言课程设计(成绩管理系统)源程序
# 基于深度学习的投资策略优化系统 ## 项目简介 本项目是一个基于深度学习的投资策略优化系统,旨在通过分析和优化金融数据来提升投资决策的准确性和效率。项目涵盖了从数据获取、预处理、模型训练到结果评估的全流程,为投资者提供了一套完整的工具链。 ## 项目的主要特性和功能 1. 数据获取与处理 通过phase0.py获取金融数据。 使用phase1.py进行数据预处理和特征生成。 利用labelbasedgraph.py和labelbasedreturn.py进行数据标签计算。 2. 模型训练与评估 使用phase2.py进行模型训练和评估。 支持多种深度学习模型,如GraphCNN.py和MLP.py。 通过process.py管理模型训练和验证流程。 3. 结果可视化与分析 使用vision.py进行模型性能的可视化和评估。
c语言课程设计-产品管理系统
技术资料分享BMP图片文件详解很好的技术资料.zip
ASP.NET手机端H5会议室预约系统源码 手机版会议室预约源码 一、源码介绍 H5手机版会议室预约系统是一个高效快速便利的内部预约平台,让需要预定会议室的人能通过这个平 台发布预定,没有预定的人也能通过平台查看他人预定。通过后台添加账号即可登录预约平台,发布会 议室预定。 二、主要功能 后台管理包括 会议室信息管理,预约信息管理,用户信息管理。 前台手机版预约系统包括 日历查看预定信息,点击进入所选日期详细预约信息,预定会议室,我的预 约等功能模块。 后台采用模型管理功能可以使用后台对表结构进行维护,方便二次开发。 后台也可以增加部门,实现各部门之间管理员查看各自部门预约信息,用户信息等功能。
http服务器的实现