使用AJAX开发简单在线小词典
2008-01-21 21:35
344 查看
开发环境以及资源:eclipse+tomcat6.0+JDK5+dom4j+xml
首先将写好的简单词典文件words-xml,放入已经建好工程的web-inf目录下
words.xml内容为:
<?xml version="1.0" encoding="GBK"?>
<words>
<word>
<en>hello</en>
<cn>你好</cn>
</word>
<word>
<en>test</en>
<cn>n. 测试,试验</cn>
<cn>v. 测试,试验,接受测验</cn>
</word>
</words>
在webroot目录下新建一个查询词典的html页面:searchwords.html
<script type="text/javascript">
var xmlHttp;
var searchWord="";
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function doSearch(){
createXMLHttpRequest();
searchWord = document.getElementById("userword").value;
xmlHttp.open("GET","/WordsXML/parsewords?word="+searchWord,true);
xmlHttp.onreadystatechange = ResultCheck;
xmlHttp.send(null);
}
function ResultCheck(){
// alert(xmlHttp.status);
if(xmlHttp.readyState ==4){
if(xmlHttp.status ==200){
document.getElementById("searchResult").innerHTML= xmlHttp.responseText;
}
}
}
</script>
Input Word:
<input type="text" id="userword" size=30>
<input type="button" value="Search" onclick="doSearch()">
<hr>
<div id="searchResult">
</div>
然后在src目录下写一个servlet:名称为ParseWordsServlet.java
(省略导入的包.)
public class ParseWordsServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String word = request.getParameter("word");
Document doc = null;
SAXReader read = new SAXReader();
try {
String url = getServletContext().getRealPath("/")+"WEB-INF//words.xml";
System.out.print(url);
doc = read.read(url);
} catch (DocumentException e) {
e.printStackTrace();
}
String output = "";
Element root = doc.getRootElement();
for (Iterator iter = root.elementIterator("word"); iter.hasNext();) {
Element e = (Element) iter.next();
String eValue = e.element("en").getText();
if (eValue.equals(word)) {
for (Iterator iter2 = e.elementIterator("cn"); iter2.hasNext();) {
Element cnE = (Element) iter2.next();
output += cnE.getText() + "<br>";
}
}
}
if(output.equals("")){
output="not find it!!";
}
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(output);
out.close();
}
}
配置web-inf目录下的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>ParseWords</servlet-name>
<servlet-class>
com.runwit.words.ParseWordsServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ParseWords</servlet-name>
<url-pattern>/parsewords</url-pattern>
</servlet-mapping>
</web-app>
启动tomcat6.0,打开目标网页,测试.
首先将写好的简单词典文件words-xml,放入已经建好工程的web-inf目录下
words.xml内容为:
<?xml version="1.0" encoding="GBK"?>
<words>
<word>
<en>hello</en>
<cn>你好</cn>
</word>
<word>
<en>test</en>
<cn>n. 测试,试验</cn>
<cn>v. 测试,试验,接受测验</cn>
</word>
</words>
在webroot目录下新建一个查询词典的html页面:searchwords.html
<script type="text/javascript">
var xmlHttp;
var searchWord="";
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function doSearch(){
createXMLHttpRequest();
searchWord = document.getElementById("userword").value;
xmlHttp.open("GET","/WordsXML/parsewords?word="+searchWord,true);
xmlHttp.onreadystatechange = ResultCheck;
xmlHttp.send(null);
}
function ResultCheck(){
// alert(xmlHttp.status);
if(xmlHttp.readyState ==4){
if(xmlHttp.status ==200){
document.getElementById("searchResult").innerHTML= xmlHttp.responseText;
}
}
}
</script>
Input Word:
<input type="text" id="userword" size=30>
<input type="button" value="Search" onclick="doSearch()">
<hr>
<div id="searchResult">
</div>
然后在src目录下写一个servlet:名称为ParseWordsServlet.java
(省略导入的包.)
public class ParseWordsServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String word = request.getParameter("word");
Document doc = null;
SAXReader read = new SAXReader();
try {
String url = getServletContext().getRealPath("/")+"WEB-INF//words.xml";
System.out.print(url);
doc = read.read(url);
} catch (DocumentException e) {
e.printStackTrace();
}
String output = "";
Element root = doc.getRootElement();
for (Iterator iter = root.elementIterator("word"); iter.hasNext();) {
Element e = (Element) iter.next();
String eValue = e.element("en").getText();
if (eValue.equals(word)) {
for (Iterator iter2 = e.elementIterator("cn"); iter2.hasNext();) {
Element cnE = (Element) iter2.next();
output += cnE.getText() + "<br>";
}
}
}
if(output.equals("")){
output="not find it!!";
}
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(output);
out.close();
}
}
配置web-inf目录下的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>ParseWords</servlet-name>
<servlet-class>
com.runwit.words.ParseWordsServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ParseWords</servlet-name>
<url-pattern>/parsewords</url-pattern>
</servlet-mapping>
</web-app>
启动tomcat6.0,打开目标网页,测试.
相关文章推荐
- 面向 Java 开发人员的 Ajax: 结合 Direct Web Remoting 使用 Ajax----数据序列化不可能比这更简单了!
- 谷歌开发工具 Android Studio 使用简单教程
- 简单的使用uflo的在线设计
- 菜鸟如何简单的使用ajax
- 详细介绍在windows系统中配置 cocos2d-x 开发环境及简单使用(VS2012+Cocos2d-x 3.0rc1)
- [ajax开发工具]使用JSLint完成JavaScript语法检查
- Android开发之百度地图的简单使用
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- AJAX在VS2005中的简单应用 使用ajaxpro.2.dll[点击按钮执行事件不刷新]
- iOS开发UI篇—xib的简单使用
- 简化 Ajax 和 Java 开发,第 2 部分: 使用约定最小化设置
- 使用VC开发的一个简单工作日志软件
- 一款能让Vive开发变得简单的插件——Vive Input Utility使用指南
- iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序
- sharpziplib是一个不错的在线压缩软软件.用VB.net简单写了个使用代码!
- iPhone开发之创建简单界面视图的三种方式之一 使用xcode4自动生成界面
- 简单的使用mock.js模拟数据,拦截ajax请求
- 如果简单使用固定url实现类似友盟的在线参数
- Android开发 NavigationView的简单使用
- [翻译]ASP.NET MVC 3 开发的20个秘诀(十四)[20 Recipes for Programming MVC 3]:使用Ajax提交Form