日期:2014-05-19  浏览次数:20615 次

一个Web应用的笔试题目,求大神迅速出击,小弟感激不尽
使用Java创建一个异步获取歌词的Web应用程序,实现如下功能:

1.用一个index页面列出一些歌曲的名字(歌曲都是英文的,列出2个就行,随便显示几句就行)
2.当一首歌曲的名字被点击的时候,通过使用AJAX从服务器获取歌词并且显示在歌曲的名字下面
3.歌词和歌曲名称都必须存储在数据库里面
4.最后将代码上传到github

就这么一个题目,要求今天完成,Java操作的部分我倒是ok,但是小弟没有使用过AJAX,对于HTML的显示也不太清楚,不知道怎么响应,也没有使用过github。求大神迅速出击,小弟跪拜源码。


------解决方案--------------------
那今天之内哪能搞定啊。。。

你一个小时之内熟悉一下jQuery吧。
------解决方案--------------------
同样,建议你去熟悉一下jquery
------解决方案--------------------
用jQuery倒不算复杂,关键点就两个:
1、Java端就是用一个专门的Servlet或JSP负责把数据查出来生成 JSON 字符串;
2、jQuery本质上就是独立发出HTTP请求,把Java端准备好的JSON字符串给显示出来。


另外推荐个偷鸡点的做法:
1、主页面(index页面列出一些歌曲的名字),预先准备好一个歌词DIV,比如:
<div id="divSongWords" style="display:none;"></div>
2、在歌曲名字上注册点击事件中,用jQuery去异步请求一个JSP页面,比如:SongWords.jsp
3、SongDetail.jsp 的内容就是:
<div>
数据库中取出来的歌词
</div>
4、jQuery在异步请求的返回事件中,将返回的内容直接写入歌词DIV中:
$("#divSongWords").innerHTML = data;
5、修改歌词DIV的CSS,将其显示出来,并注意用绝对定位,定好位置。

这种偷鸡方式可以大量节省JSON封装和DHTML操作过程。
------解决方案--------------------
Jquery说通俗了就是对前台的增删改查,掌握了这个前台脚本将不是问题。
------解决方案--------------------
问题一:
你在document的ready()事件中,用 $(this) 注册 click 函数,此时注册的click事件是整个<BODY>
应该修改为:
$(document).ready(function(){
$("li").click(function(){


问题二:
换行需要替换为HTML换行标签:<br />,
比如: replaceAll("\n", "<br />");
------解决方案--------------------
你可以在servlet 里边加一个switch --case 语句用来判断请求的内容
或在url 链接上加上 id=? 然后在servlet那边获取到,用case语句判断调用那一个。
------解决方案--------------------
我觉得不上机手写就是白痴,建议用手机百度去抄 JQUERY PSOT
------解决方案--------------------
探讨
现在来解决换行问题,解决的同时也希望大神继续指点

------解决方案--------------------
探讨
换行初步工作,貌似replace可以,但是replaceAll不工作

------解决方案--------------------
传一个对应的ID过去 ,给到js
------解决方案--------------------
= =
你们干什么这么麻烦,FIREFOX DEBUFG开百度MP3的那个TOP100,用FIREFOX看AJAX或者XML 就能看到XML和POST地址,用JQUERY丢过去接2次XML 就有地址,开POST下来就行。

  
代码上传github 这种B公司是不是解决方案不咋的 想免费找方案嗯?要不要在里面写联系方式?
------解决方案--------------------
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'MyJsp.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">