一.Jsp與servlet的區別:
jsp是java代碼嵌入html中,用java代碼控制來html。
Servlet完全是JAVA程序代碼構成,用來流程控制和事務處理
jsp更擅長表現於頁面顯示,servlet更擅長於邏輯控制.
Servlet中沒有內置對象,Jsp中的內置對象都是必須通過HttpServletRequest對象,HttpServletResponse對象以及HttpServlet對象得到.
二、如何配置一個servlet使它運行
1.servlet的名字,包類
<servlet>
<servlet-name>httpServletDemo(為servlet取的名字)</servlet-name>
<servlet-class>com.lxitedu.HttpServletDemo(包名.類名)</servlet-class>
</servlet>
2.映射.訪問的地址(url)
<servlet-mapping>
<servlet-name>httpServletDemo(與上面的servlet名字要完全一樣)</servlet-name>
<url-pattern>/myServlet(運行時地址欄顯示的文件名)</url-pattern>
</servlet-mapping>
三、servlet跳轉方法
1).使用form表單的action屬性設置要跳轉的頁面(此方法可以將此頁面的form表單屬性值傳遞到下一頁面):如下
<form action="my.jsp" name="lili" onsubmit="return test()">
<input type="submit" value="提交">
或者(為button類型需要手動提交表單):
<input type="button" value="注冊" onclick="test()">
javascript的函數:
function test(){
//手動設置跳轉頁面
document.lili.action="my1.jsp";
document.lili.submit();
}
2).使用javascript中的頁面跳轉的方法(不能將form表單中的屬性值傳遞到下一頁面):
window.location.href="my.jsp";
window.location.replace("my.jsq");//此方法不可將頁面后退.
2.服務端跳轉的兩種方法對比:
<jsp:forward page="xxx.jsp"/>:等價於
request.getRequestDispatcher("xxx.jsp").forward(request,response);
本服務器的資源跳轉,效率更高.地址欄不改變(仍為跳轉前的頁面).可得到request屬性值.
response.sendRedirect("xxx.jsp"):
重定向到任意資源.地址欄改為當前頁面.無法得到request屬性值.