Ajax实例(JAVA)

article/2025/10/6 6:15:42

这是一个用于留言板留言提交与读取的简单实例,不包括回复、编辑与删除等其它管理功能。 本实例的目的在于用一个简单的例子展示如果在java web应用中,用javascript开发Ajax应用。

一、web页面 msbord.jsp

1、本页面用于留言显示

2、本页面提供留言功能,并利用httpxmlrequest提交给servlet保存数据并使用javascript对页面显示进行调整。

3、本例子没有对httpxmlrequest提交后的返回数据进行处理的实例展示。

 

<% @ page language="java" contentType="text/html; charset=gb18030"
    pageEncoding
="gb18030"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
<% @ page import="java.sql.*"  %>
< jsp:useBean  id ="DataSql"  scope ="page"  class ="edu.scnu.cn.common.DataSql" ></ jsp:useBean >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb18030" >
< title > 留言薄 </ title >
< style >
    body
{font-size:12px;text-align:center;}
    dl  
{margin:0;}
    dt  
{background-color:#666;color:#fff;margin:1px;padding:0 3px;}
    dd  
{margin:3px;}
    div 
{margin:auto;line-height:150%;text-align:left;width:400px;border:1px solid #666;}
    #msgInput 
{margin-top:10px;}
    dd.button 
{text-align:center;}
    dd.button.input
{margin:0 20px;}
</ style >
< script  type ="text/javascript" >
function addToList(){
    
var msgList=document.getElementById("msgBox");
    
var dl=document.createElement("dl");    
    
var dt=document.createElement("dt");
    
var dd=document.createElement("dd");
    
var dd2=document.createElement("dd");
    
var dd3=document.createElement("dd");
    msgList.insertBefore(dl,msgList.firstChild);
    dl.appendChild(dt);
    dl.appendChild(dd);
    dl.appendChild(dd2);
    dl.appendChild(dd3);
    dt.innerHTML
="主  题:"+subject.value;
    dd.innerHTML
="留 言 人:"+author.value;
    dd2.innerHTML
="内  容:"+content.value;
    dd3.innerHTML
="时  间:"+time.value;
    subject.value
="";
    author.value
="";
    content.value
="";
    time.value
="";    
}

function createXMLHttp(){
    
var xmlhttp;    
    
try{
        xmlhttp
=new XMLHttpRequest();
    }
catch(e){
        xmlhttp
=new ActiveXObject("Microsoft.XMLHTTP");
    }

    
return xmlhttp;
}

function delRecord(id){

}

function ajaxSubmit(){
    
var xmlhttp=createXMLHttp();
    xmlhttp.onreadystatechange
=function(){
        
if(4==xmlhttp.readyState){
            
if(200==xmlhttp.status){
                
//alert(xmlhttp.responseXML);
                addToList();
            }
else{
                alert(
"no");
            }

        }

    }

    
var sql="insert into msgbox values(null,'"+subject.value+"','"+author.value+"','"+content.value+"','"+time.value+"')";
    
var submitUrl="/servlet/AddRecordServlet?sql="+sql;
    xmlhttp.open(
"post",submitUrl,true);    
    xmlhttp.setRequestHeader(
'Conten-type','application/x-www-form-urlencode');
    xmlhttp.send(
null);
    
return false;    
}

</ script >
</ head >
< body >
<%   
    Connection conn
=DataSql.getConn();  
    
String sql="select * from msgbox order by time DESC";  
    ResultSet rs
=DataSql.getRs(conn,sql);  
    
while(rs.next()){  
%>
    
< div  id ="msgBox" >   
        
< dl  id ="dl+<%=rs.getString(" id") % > ">
            
< dt > 主  题: <% = rs.getString( " subject " %> </ dt >
            
< dd > 留 言 人: <% = rs.getString( " author " %> </ dd >
            
< dd > 内  容: <% = rs.getString( " content " %> </ dd >
            
< dd > 时  间: <% = rs.getString( " time " %> </ dd >
        
</ dl >
    
</ div >
    
<%
    }
%>
    
< div  id ="msgInput" >
    
< form  name ="msgForm"   method ="POST" >
        
< dl >
            
< dt > 主  题: < input  type ="text"  name ="subject"  size ="42"  id ="subject" ></ dt >
            
< dd > 留 言 人: < input  type ="text"  name ="author"  size ="42"  id ="author" ></ dd >
            
< dd > 内  容: < textarea  rows ="10"  cols ="42"  name ="content"  id ="content" ></ textarea ></ dd >
            
< dd > 时  间: < input  type ="text"  size ="42"  name ="time"  id ="time" ></ dd >
            
< dd  class ="button" >< input  type ="button"  onClick ="ajaxSubmit()"  value ="提交"   >
                
< input  type ="Submit"   value ="提交2"   >
            
</ dd >
        
</ dl >
    
</ form >
    
</ div >
< script >
    
var subject=document.forms[0].subject;
    
var author=document.forms[0].author;
    
var content=document.forms[0].content;
    
var time=document.forms[0].time;
</ script >
</ body >
</ html >

 

二、servlet

用于对页面提交数据的处理。

 

package  edu.scnu.cn.common.servlet;

import  java.io.IOException;
import  java.io.PrintWriter;

import  javax.servlet.ServletException;
import  javax.servlet.http.HttpServlet;
import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;
import  edu.scnu.cn.common.DataSql;
import  java.sql. * ;

public   class  AddRecordServlet  extends  HttpServlet  {

    
/**
     * 
     
*/

    
private static final long serialVersionUID = 1L;

    
/**
     * Constructor of the object.
     
*/

    
public AddRecordServlet() {
        
super();
    }


    
/**
     * Destruction of the servlet. <br>
     
*/

    
public void destroy() {
        
super.destroy(); // Just puts "destroy" string in log
        
// Put your code here
    }


    
/**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * 
@param request the request send by the client to the server
     * 
@param response the response send by the server to the client
     * 
@throws ServletException if an error occurred
     * 
@throws IOException if an error occurred
     
*/

    
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException {

        response.setContentType(
"text/html");
        PrintWriter out 
= response.getWriter();
        out
                .println(
"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");
        out.println(
"<HTML>");
        out.println(
"  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
        out.println(
"  <BODY>");
        out.print(
"    This is ");
        out.print(
this.getClass());
        out.println(
", using the GET method");
        out.println(
"  </BODY>");
        out.println(
"</HTML>");
        out.flush();
        out.close();
    }


    
/**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * 
@param request the request send by the client to the server
     * 
@param response the response send by the server to the client
     * 
@throws ServletException if an error occurred
     * 
@throws IOException if an error occurred
     
*/

    
public void doPost(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException {
        DataSql dataSql
=new DataSql();
        
try {
            Connection conn
=dataSql.getConn();
            String sql
=request.getParameter("sql");            
            
try {
                
int i=dataSql.execute(conn,sql);
                conn.close();
            }
 catch (SQLException e) {
                
// TODO Auto-generated catch block
                e.printStackTrace();
            }
 
        }
 catch (InstantiationException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }
 catch (IllegalAccessException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }
 catch (ClassNotFoundException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
    }


    
/**
     * Initialization of the servlet. <br>
     *
     * 
@throws ServletException if an error occurs
     
*/

    
public void init() throws ServletException {
        
// Put your code here
    }


}

 

三、web.xml

对serverlet进行配置

 

   < servlet >
    
< description > This is the description of my J2EE component </ description >
    
< display-name > This is the display name of my J2EE component </ display-name >
    
< servlet-name > AddRecordServlet </ servlet-name >
    
< servlet-class > edu.scnu.cn.common.servlet.AddRecordServlet </ servlet-class >
  
</ servlet >

  
< servlet-mapping >
    
< servlet-name > AddRecordServlet </ servlet-name >
    
< url-pattern > /servlet/AddRecordServlet </ url-pattern >
  
</ servlet-mapping >
    

 

四、DataSql

数据库操作类

 

package  edu.scnu.cn.common;
import  java.sql. * ;
/**
 * 
 * 
@author li
 *
 *数据库操作类
 
*/

public   class  DataSql  {
    
/**
     * 
     * 
@return
     * 
@throws InstantiationException
     * 
@throws IllegalAccessException
     * 
@throws ClassNotFoundException
     * 
     * 直接连接到数据库,数据库指定为crjy
     
*/

    
    
public  Connection getConn() throws InstantiationException, IllegalAccessException, ClassNotFoundException
    
{
        
//数据库用户名
        String userName="root";
        
//密码
        String userPasswd="admin222";
        
//数据库名
        String dbName="crjy";        
        
//联结字符串
        String url="jdbc:mysql://localhost:3306/"+dbName+"?useUnicode=true&characterEncoding=GB2312&user="+userName+"&password="+userPasswd;
        Class.forName(
"com.mysql.jdbc.Driver").newInstance();
        Connection conn
=null;    
        
try
        
{
            conn 
= DriverManager.getConnection(url);
        }

        
catch (SQLException e)
        
{
            e.printStackTrace();
        }
    
        
return conn;        
    }

    
    
/**
     * 
     * 
@param conn        到数据库的连接
     * 
@param sql        sql串
     * 
@return
     * 
     * 得到数据集
     * 
     
*/

    
public ResultSet getRs(Connection conn,String sql) 
    
{
        Statement statement
=null;
        ResultSet rs
=null;
        
try {
            statement 
= conn.createStatement();
            rs 
= statement.executeQuery(sql);
        }
 catch (SQLException e) {
            
// TODO 自动生成 catch 块
            e.printStackTrace();
        }

    
        
return rs;        
    }

    
    
/**
     * 
     * 
@param conn        到数据库的连接   
     * 
@param sql        sql串
     * 
@return
     * 
     * 执行删除,更新等操作
     
*/

    
public int execute(Connection conn,String sql) 
    
{
        Statement statement
=null;
        
int i=0;
        
try {
            statement 
= conn.createStatement();
            i
= statement.executeUpdate(sql);
        }
 catch (SQLException e) {
            
// TODO 自动生成 catch 块
            e.printStackTrace();
        }

    
        
return i;        
    }



}


http://chatgpt.dhexx.cn/article/vFaaXe5L.shtml

相关文章

原生js实现Ajax实例讲解

Ajax简介 ajax 异步 JavaScript 和 XML。 ajax是一种在无需重新加载整个网页的情况下&#xff0c;能够更新部分网页的技术。我们知道&#xff0c;传统的网页&#xff08;不使用ajax&#xff09;如果需要更新内容&#xff0c;必须重新加载整个网页。Ajax的出现&#xff0c;使…

jsp ajax实例讲解

下面介绍JSP前台表单内容通过Ajax异步提交到后台Servlet进行校验&#xff08;校验方式多种&#xff0c;包括提取数据库信息&#xff0c;校验用户名是否重复等&#xff09;&#xff0c;异步在JSP表单页面显示校验结果信息的基本过程。 一、说明&#xff1a; 1.由于本…

jqueryajax实例

运用ajax结合dom写的小实例&#xff0c;其中记录了过程中遇到的问题和解决方法 任务要求&#xff1a; 模拟“请求用户列表”&#xff0c;向后台请求&#xff0c;后台会去数据库中将你的用户列表全部查出来&#xff0c;返回很多条记录&#xff0c;现在将记录显示在页面上用表格打…

Ajax简介和实例

目录 什么是 AJAX &#xff1f; AJAX实例 ajax-get无参 ajax-get有参 对象和查询字符串的互转 ajax-post ajax-post 表单 AJAX 是一种在无需重新加载整个网页的情况下&#xff0c;能够更新部分网页的技术。 什么是 AJAX &#xff1f; 菜鸟教程是这样介绍的&#xff1a…

Ajax实例讲解与技术原理

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要&#xff1a;AJAX即“Asynchronous Javascript And XML”&#xff08;异步JavaScript和XML&#xff09;&#xff0c;是指一种创建交互式网页应用的网页开发技术。AJAX 是一种用于创建快速动态网页的…

jQuery的Ajax实例(附完整代码)

目录 写在前边什么是AjaxAjax基本结构实例实例1实例2 小结 写在前边 作为一个前端刚入门没多久的小白&#xff0c;想在这里分享一下我的学习内容&#xff0c;就算是学习笔记了。因为前端的大部分学习都是通过网站上的教程&#xff0c;所以遇到不懂得问题&#xff0c;也只有求助…

Ajax技术 实例篇

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 例如&#xff1a;本篇文章通过HtmlAjaxnode技术实现一个简单的Ajax请求案例&#xff0c;为加强对Ajax技术的了解和实操经验 实现效果 这是请求前的前端页面&#xff0c;点击两个Button按钮分别发起不…

Ajax-Ajax基础实例

实例一&#xff1a;点击一个按钮&#xff0c;然后将信息显示到指定的div内。 1、创建一个JAVA web工程&#xff0c;命名为AjaxTest。在webRoot创建一个HTML页面&#xff0c;命名为FirstTest.html&#xff0c;FirstTest.html代码如下&#xff1a; <html><head><t…

Ajax最实用的小例子集合

今天我为大家带来了几个非常实用的ajax小例子&#xff0c;都是在工程中经常用到的实用的例子。适合有基础的同学&#xff0c;废话也不多说了&#xff0c;看代码 哦&#xff0c;对了&#xff0c;所有的例子都是用servletjsp实现的 至于三大框架的&#xff0c;我相信&#xff0c;…

Java 网络编程(大全)

前言必读 读者手册&#xff08;必读&#xff09;_云边的快乐猫的博客-CSDN博客 一、1网络通信的基本模式分为两种 1.CS模式&#xff08;Client---客户端&#xff0c;Server---服务端&#xff09; 客户端是需要程序员去开发的&#xff0c;例如日常使用的各种的APP&#xff0c…

java游戏编程:三路兵线,BOSS走位,代码和视频

一、基本功能&#xff1a; 坦克大战&#xff1a;三路兵线的走&#xff0c;停&#xff0c;走&#xff0c;停。四个版本的飞机大战&#xff1a;多种运动方式。都有代码和视频下载地址。 二、后续改进&#xff1a; 走&#xff0c;停发起攻击&#xff0c;走&#xff0c;停发起攻击…

Java实现石头剪刀布游戏

思路&#xff1a;采取5局3胜制&#xff1b;用两个变量a、b标记&#xff0c;若&#xff0c;第一局电脑胜&#xff0c;则b加1&#xff0c;反之亦然。其中用到int randomNumber new Random().nextInt(4) 随机生成04的一个数&#xff0c;通过生成的数索引数组中的内容&#xff0c;…

Java实现猜数游戏

1 问题 编写一个Java程序&#xff0c;实现以下功能&#xff1a; 2 方法 首先导入java.util包下的Random&#xff0c;让程序随便分配给用户一个数。 再导入java.util包下的Scanner类&#xff0c;构建Scanner对象&#xff0c;以便输入。 利用Random().nextInt()生成一个随机的i…

Java小游戏:飞翔的小鸟 【附源码和素材】

目录 一、项目分析 二、项目展示 1.开始状态 2.运行状态 3.结束状态 三、实现代码 1.游戏启动类 2.地面类 3.小鸟类 4.柱子类 四、代码资源 一、项目分析 创建一个窗口和画板&#xff0c;把画板放到窗口上&#xff0c;在画板上绘画图片 &#xff08;2&#xff09;让小鸟…

Java——猜数字游戏

目录 &#x1f351;前置知识 &#x1f351;题目要求 &#x1f351;代码实现 &#x1f351;测试 &#x1f351;前置知识 既然是猜数字那么就要生成一个随机数 在Java中要生成一个指定范围之内的随机数字有两种方法&#xff1a;一种是调用 Math 类的 random() 方法&…

Java简单实现猜拳游戏

前言 Random类的简单使用 .nextInt()方法&#xff0c;返回伪随机的&#xff0c;均匀分布 int值介于0&#xff08;含&#xff09;和指定值&#xff08;不包括&#xff09;&#xff0c;从该随机数生成器的序列绘制。 public class Demo_02 {//出拳游戏:1表示石头,2表示剪刀,3表…

java实现猜拳游戏

剪刀、石头、布又称“猜丁壳”&#xff0c;古老而简单&#xff0c;这个游戏的主要目的是为了解决争议&#xff0c;因为三者相互制约&#xff0c;因此不论平局几次&#xff0c;总会有胜负的时候。 游戏规则中&#xff0c;石头克剪刀&#xff0c;剪刀克布&#xff0c;布克石头。…

Java游戏编程前篇 修改eclipse背景颜色

最近准备开始研究java游戏设计了。&#xff08;不是安卓的游戏设计&#xff0c;关于安卓的游戏设计&#xff0c;我打算学完java之后直接学cocos2dx&#xff0c;学习java的原因是因为在公司里接触到了eclipse&#xff0c;所以打算顺便将java也啃下来&#xff0c;以后说不定哪天就…

java游戏开发入门(一) - HelloWorld

java游戏开发入门&#xff08;一&#xff09;- HelloWorld 前言开发环境启程 Hello WorldMaven启动类 HelloWorldApp创建一个600 x 600&#xff0c;标题为"Hello world"的窗体main运行效果完整代码 完整项目 前言 开发一款游戏&#xff0c;我相信很多人在学习开发之前…

JAVA编程实现猜数游戏

1.该程序就是随机生成一个1-100的整数让玩家进行游戏&#xff0c;不限次数&#xff0c;直到玩家猜对为止。 2.使用while循环语句实现功能 3.代码展示 import java.util.Random; import java.util.Scanner;public class S11 {public static void main(String[] args) {Random…