JSP中使用AJAX示例 分别将结果提交为STRUTS,SERVLET WEBWORK的不同操作方式
我原先刚开始学AJAX的时候,忘了从什么地方拉下来的一篇文章,不过,如果没有AJAX基础,最好不看这篇示例,因为你肯定看不懂,因为这个示例页不能够给你立即看到立即实现的效果,你应该先去看一个最简单的示例,怎么样用AJAX去把一个文本文件的内容读回来。然后再回来看这篇文章,这里你可以看到使用AJAX分别把内容提交到STRUTS,SERVLET,WEBWORK,是怎么样操作的。我在看这篇文章以前,都是把一个JSP的处理请求,发给另外一个JSP页面处理,并在那个页面理采用BEAN的方式,虽然我是采用的STRUTS结构,但是却不知道可以直接将内容提交到ACTION,这样就可以减少一道工序了,人笨就是这样。
写这个页面的朋友是谁,我真的忘了,不过,还是非常感谢。示例就自己看吧:
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
ajax
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<input name="username" type="text" maxlength="20" />
<input id="chk-name-btn" type="button" value="检测帐号" οnclick="testName('<%=request.getContextPath()%>')" />
<div id="view_name"></div>
</h1>
</body>
</html>
<script language="javascript">
if (window.ActiveXObject && !window.XMLHttpRequest) {
window.XMLHttpRequest=function() {
return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
};
}//取得XMLHttpRequest对象
function testName(path){
//path是取得系统路径
var view_name=document.getElementById("view_name");
var req=new XMLHttpRequest();
if (req) {
req.onreadystatechange=function() {
if (req.readyState==4 && req.status==200) {//判断状态,4是已发送,200已完成
if(req.responseText==0){
view_name.style.color='green';
view_name.innerHTML='该用户名可以正常使用';
}else if(req.responseText==1){
view_name.style.color='red';
view_name.innerHTML='该用户名已经被使用';
}else{
view_name.style.color='red';
view_name.innerHTML='该用户名含有非法字符!';
}
}
}
req.open('POST', path+'/ajax.jsp');//jsp
req.open('POST', path+'/ajax.do');//struts
//req.open('POST', path+'/ajax.servlet');//servlet
//req.open('POST', path+'/ajax.action');//webwork
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send("");//发送参数如果有参数req.send("username="+user_name);用request取得
}
}
</script>
这个jsp页面并没有取得用户名,就是演示一下。还有<div>可以换span,具体作用问美工吧。
接受ajax请求的action。
import org.apache.struts.action.*;
import javax.servlet.http.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
/**
* <p>Title:AjaxAction </p>
*/
public class AjaxAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
out.print(1);//ajax取得都是字符的输出。如果数据量大的话,还可以用xml来发送和接受
return null;
}
}
struts-config.xml
<action type="test.whw.upload.AjaxAction" validate="false" scope="request" path="/ajax"/>
----------------------------
如果是servlet
web.xml
<servlet>
<servlet-name>AjaxServlet </servlet-name>
<servlet-class>servlet.AjaxServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AjaxServlet </servlet-name>
<url-pattern>/AjaxServlet .servlet</url-pattern>
</servlet-mapping>
AjaxServlet.java
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;
public class AjaxServlet extends HttpServlet {
Logger log = Logger.getLogger(this.getClass());
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException {
response.setContentType("text/xml; charset=GBK");
PrintWriter out = response.getWriter();
out.print(2);
}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
//Process the HTTP Put request
public void doPut(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
//Process the HTTP Delete request
public void doDelete(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
//Clean up resources
public void destroy() {
}
}
-------------------------------------
如果是webwork
xwork.xml
<action name="ajax" class="com.whw.upload.action.webwork.AjaxAction" method="ajax"/>
AjaxAction.java
import java.io.PrintWriter;
public class AjexAlbumAction extends ActionSupport implements Action{
public void ajax() throws IOException {
PrintWriter pw = ServletActionContext.getResponse().getWriter();
ServletActionContext.getResponse().setContentType("text/html;charset=GBK");
pw.print(1);
pw.close();
}
}
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
JSP中使用AJAX示例 分别将结果提交为STRUTS,SERVLET WEBWORK的不同操作方式相关推荐
- ajax地址为jsp,AJAX_在jsp中运用ajax(简单入门),由于ajax为我们带来太多的好处 - phpStudy...
在jsp中运用ajax(简单入门) 由于ajax为我们带来太多的好处,所以在很多应用中我们都会优先选择这种技术,于是我也为之所吸引,现跟大家分享下一个简单的入门例子. regist.jsp文件:一个简 ...
- 在JSP中运用 Ajax
首先编写JS部分代码 JavaScript方式 ..已经忘记了.. jQuery方式 其实有JQuery方式完全没人用javaScript方式 演示代码:点击一个 按钮,传递过去一个 age=25 , ...
- jsp mysql 图片路径,请教JSP中怎么向MySql中存入和取出图片
当前位置:我的异常网» Java Web开发 » 请教JSP中怎么向MySql中存入和取出图片 请教JSP中怎么向MySql中存入和取出图片 www.myexceptions.net 网友分享于:2 ...
- jquery ajax示例_jQuery AJAX JSP Servlet Java示例
jquery ajax示例 Ajax in Java JSP Servlet based web applications are very common. Recently I have writt ...
- jsp servlet示例_Servlet和JSP中的文件上传示例
jsp servlet示例 使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和 ...
- Servlet和JSP中的文件上传示例
使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和HTTP协议中文件上传支持的 ...
- JAVA中.jsp模板文件AJAX异步请求 - 数据渲染问题
JAVA中.jsp模板文件AJAX异步请求 - 数据渲染失败,谁的过失? 后端已经查询出来结果,但是返回的API接口response查看不到对应的信息.(即:后台有,前台没有) 原因分析: 是因为AJ ...
- jsp怎么接受ajax请求参数,通过ajax发送JSON并通过JSP中的请求获取参数
我需要通过ajax(使用Jquery)发送JSON对象,并通过JSP(服务器端)中的请求对象获取所有参数.通过ajax发送JSON并通过JSP中的请求获取参数 我的JS代码: var request ...
- 利用ajax从jsp中返回的字符串时出现回车符号解决办法
问题背景:通过ajax来实现检测用户名,若用户名已存在,则提示已存在并且清空文本框:若不存在则提示可用.在checkname.jsp中写的时候,通过out.write();返回提示,在index.js ...
最新文章
- dnf单机无线连接服务器,dnf单机云服务器
- mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)
- Apache Tiles的使用 前配置
- 使用html2Canvas将页面转化为canvas图片,最后长按保存到本地,史上最全 html2canvas 使用 踏坑之旅,没有之一
- 多相机坐标转换_使用KITTI数据集实现坐标转换
- 删除Terminating状态的Pod
- 第十一课:(2)在MINST-FASHION上实现神经网络的学习流程
- MFC使用ODBC连接SQL Server 2008数据库编程
- 教你如何轻松玩转自媒体淘客,赚大钱!
- android 分组柱状图_Android自定义柱状图控件
- 禁止服务器windows的自动更新,Windows Server2016等服务器禁止自动更新及更新后自动重启的方法...
- ASCII码对照表--符号/十进制/十六进制
- 破解数字化转型难题,华为云一站式大数据BI赋能企业发展
- CPinyin unicode汉字查找拼音(支持多音字)
- 共享办公室,丰富运营体系
- mysql存储函数中游标报错 No data - zero rows fetched, selected
- ASP.NET CORE WebAPI 中 Route 属性配置
- 深度linux系统wifi信号变弱,在Deepin 20社区版下WiFi网速变慢的处理
- MySQL学习笔记(5)
- 微信红包封面免费领取,自定义个性化红包封面
热门文章
- 数仓是如何与“夏令时”愉快的玩耍?
- Java之五种遍历Map集合的方式
- Python爬虫偷懒神器 — 快速构造请求头!
- 【论文笔记】一种有效攻击BERT等模型的方法
- 【DevCloud · 敏捷智库】Scrum和看板如何选择
- 野生前端的数据结构练习(9)冒泡排序,选择排序,插入排序
- ajax对象状态0,ajax – HTTP状态代码0是否有任何意义?
- LeetCode 剑指Offer 64.求1,2到n的和, 不使用循环/判断及乘除
- Beamer演示时不能正常显示底栏的问题及解决
- markdown、LaTeX输入自定义算符Res