我正在做一个samall jsp页面来搜索在文本框中输入的名称..我从jsp调用了javascript函数.. bello是javascript代码
function fncStudsearch()
{
//alert("yes")
var ele=document.getElementById("stdSearch").value;
var xmlhttp;
var strAjUrlData="stdSearch?key="+ele;
//alert(strAjUrlData)
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
}
else
{
alet(xmlhttp.status);
}
}
xmlhttp.open("GET",strAjUrlData,true);
xmlhttp.send();
}
我正在调用servlet ..我按如下方式配置了web.xml
<servlet>
<servlet-name>stdSearch</servlet-name>
<servlet-class>com.slokam.Act.StudentSearch</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>stdSearch</servlet-name>
<url-pattern>/stdSearch</url-pattern>
</servlet-mapping>
</web-app>
我无法去servlet课程
和我编写的servlet代码是
public class StudentSearch extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stdkey=request.getParameter("key");
stdkey="%"+stdkey+"%" ;
System.out.println(stdkey);
}
}
请在这方面帮助如何转到servlet
答案 0 :(得分:1)
如果应用程序未在appserver上部署为根应用程序,则可能需要在您调用的URL中使用上下文路径:
var ctx = "${pageContext.request.contextPath}/";
var strAjUrlData=ctx+"stdSearch?key="+ele;
...
此代码假定您使用的是jsp 2.0和EL
答案 1 :(得分:0)
可能这有帮助,有一个javascript错误:
alet(xmlhttp.status); // you're missing here `r`
alert(xmlhttp.status);
其次,你必须从servlet中打印出一些内容,然后使用PrintWriter。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String stdkey=request.getParameter("key");
stdkey="%"+stdkey+"%" ;
// test purpose
PrintWriter pw = response.getWriter ();
pw.print(stdkey);
pw.close();
}