首先来看工程结构图:
项目所需要的包,如下所示:
JSP代码:
<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"GBK\"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + \"://\"
+ request.getServerName() + \":\" + request.getServerPort()
+ path + \"/\";
System.out.println(\"basePath=\"+basePath);
%>
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>JsonCase</title>
<script type=\"text/javascript\" src=\"<%=basePath %>js/jquery-1.7.2.min.js\"></script>
<script type=\"text/javascript\">
$(function($) {
$(\"#record\").append(\"当前测试页面完成加载。<br/>\");
});
function getFirstFloorValue(element) {
$(\"#record\").append(\"<br/>获取到信息:您将要取得第一级选项信息……\");
$(\"#record\").append(\"<br/>正在使用ajax为您获取数据,您可以继续停留在页面并进行其他操作。\");
$.ajax({
url : \'ValueGetController\',
type : \'post\',
data : \'action=GetFirstFloorValue\',
datatype : \'json\',
success : function(data) {
$(\"#record\").append(\"<br/>操作成功,正在为您准备数据……\");
$(element).empty();
$(\"#record\").append(\"<br/>清除原始数据成功!\");
var ops = $.parseJSON(data);
$(\"#record\").append(\"<br/>即时数据准备成功!\");
for ( var i = 0; i < ops.length; i++)
$(element).append(
\"<option value=\\\"\" + ops[i] + \"\\\">\" + ops[i]
+ \"</option>\");
$(\"#record\").append(\"<br/>更新列表成功!<br/>\");
}
});
}
</script>
</head>
<body>
<div>
<select id=\"select1\" onfocus=getFirstFloorValue(this)>
<option value=\"1\">点击取值</option>
</select>
</div>
<dir>
<h3>记录信息:</h3>
<span id=\"record\"></span>
</dir>
</body>
</html>
JAVA servlet代码:
package 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 net.sf.json.JSONArray;
public class ValueGetController extends HttpServlet {
private static final long serialVersionUID = -1293610555518403602L;
/**
* Constructor of the object.
*/
public ValueGetController() {
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 {
doPost(request, response);
}
/**
* 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 {
request.setCharacterEncoding(\"GBK\");
response.setContentType(\"text/html;charset=gbk\");
PrintWriter out = response.getWriter();
String action = request.getParameter(\"action\");
System.out.println(\"action\"+action);
if (action.equals(\"GetFirstFloorValue\")) {
String[] str = GetFirstFloorValue();
JSONArray ja = JSONArray.fromObject(str);
String json = ja.toString();
out.print(json);
System.out.println(json);
out.flush();
out.close();
return;
}
out.flush();
out.close();
}
private String[] GetFirstFloorValue() {
String[] str = new String[4];
str[0] = \"test1\";
str[1] = \"test2\";
str[2] = \"test3\";
str[3] = \"test4\";
return str;
}
}
关于servlet的web.xml配置:
<?xml version=\"1.0\" encoding=\"UTF-8\"?> <web-app version=\"2.5\" xmlns=\"http://java.sun.com/xml/ns/javaee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\"> <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>ValueGetController</servlet-name> <servlet-class>servlet.ValueGetController</servlet-class> </servlet> <servlet-mapping> <servlet-name>ValueGetController</servlet-name> <url-pattern>/ValueGetController</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
以上就是本文的全部内容,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/11135
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我