html+js+servlet和jsp+servlet的区别

JavaScript019

html+js+servlet和jsp+servlet的区别,第1张

servlet的作用简单说就是提取出数据,并转换成html代码展示出来

jsp其实就是servlet, 只是好看,好编程, 可以吧jsp看成是servlet的可视化界面,因为在服务器中jsp会先转换成servlet, 然后发挥上面说的servlet的作用

html+js+servlet 这里的servlet就完全充当控制器了, 做一个html页面的跳转, 封装数据为json返回给html,html用js去做展示布局

您好,out.println("<script language='javascript'>alert('密码错误!')</script>")

注意,在这一句后面不能有 sendRedirect("")之类跳转的语句,因为这样的话该servlet还没输出到页面就已经结束生命期了。估计你是用了跳转吧。

使用document.form.action方式

相关源码如下: *.js [javascript] 代码如下: <span style="white-space:pre"></span>document.getElementById("sendPerson").value = SendPerson document.getElementById("currentTime").value = currentTime() document.getElementById("message").value = message document.getElementById("recvPerson").value = recvPerson document.chatform.action = "ToHistoryServlet" document.chatform.submit() *.html [html] 代码如下: <!--the tag below is the params to the userHistory dml@2012.8.27--> <input type="hidden" name="sendPerson" id="sendPerson"><input type="hidden" name="currentTime" id="currentTime"><input type="hidden" name="message" id="message"><input type="hidden" name="recvPerson" id="recvPerson"> 注意的是,input需指定name属性,这么servlet才可以获取到参数值 *.java [java] 代码如下: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { www.2cto.com String sendPerson = request.getParameter("sendPerson") String recvPerson = request.getParameter("recvPerson") String sendTime = request.getParameter("currentTime") String message = request.getParameter("message") Message msg = new Message() msg.setMessage(message) msg.setRecvPerson(recvPerson) msg.setSendPerson(sendPerson) msg.setSendTime(sendTime) HistoryHandle.addMessage(msg) }这个缺点是页面就跳走了,要是希望保持原页面,可以参照方法2 2.jquery调用后台方法 [javascript] 代码如下: $.ajax({ type : "POST", contentType : "application/json", url : "ToHistoryServlet?sendPerson=" + SendPerson + "¤tTime=" + currentTime() + "&message=" + message + "&recvPerson=" + recvPerson, dataType : 'json', success : function(result) { alert(result.d) } })

1.使用document.form.action方式

相关源码如下:

*.js

[javascript]

代码如下:

<span style="white-space:pre"></span>document.getElementById("sendPerson").value = SendPerson

document.getElementById("currentTime").value = currentTime()

document.getElementById("message").value = message

document.getElementById("recvPerson").value = recvPerson

document.chatform.action = "ToHistoryServlet"

document.chatform.submit()

*.html

[html]

代码如下:

<!--the tag below is the params to the userHistory dml@2012.8.27-->

<input type="hidden" name="sendPerson" id="sendPerson"><input

type="hidden" name="currentTime" id="currentTime"><input

type="hidden" name="message" id="message"><input

type="hidden" name="recvPerson" id="recvPerson">

注意的是,input需指定name属性,这么servlet才可以获取到参数值

*.java

[java]

代码如下:

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException { www.2cto.com

String sendPerson = request.getParameter("sendPerson")

String recvPerson = request.getParameter("recvPerson")

String sendTime = request.getParameter("currentTime")

String message = request.getParameter("message")

Message msg = new Message()

msg.setMessage(message)

msg.setRecvPerson(recvPerson)

msg.setSendPerson(sendPerson)

msg.setSendTime(sendTime)

HistoryHandle.addMessage(msg)

}

这个缺点是页面就跳走了,要是希望保持原页面,可以参照方法2

2.jquery调用后台方法

[javascript]

代码如下:

$.ajax({

type : "POST",

contentType : "application/json",

url : "ToHistoryServlet?sendPerson=" + SendPerson + "¤tTime="

+ currentTime() + "&message=" + message + "&recvPerson="

+ recvPerson,

dataType : 'json',

success : function(result) {

alert(result.d)

}

})