1.什么时servlet?
一个servlet是java的一个类。它处理http请求并作出响应,包括返回一个html的页面或转交给其他URL处理。
- servlet必须运行在一个web container中(如tomcat)。
- servlet必须是javax.servlet.http.HttpServlet的子类。你可以继承doGet()或者doPost()方法,两者分别对应于Http中的get和post请求。
2.get和post请求的区别
get和post的区别有什么呢?首先,get请求是将参数放在URL里面,且还有长度限制,整个url的长度不能超过1024.而post请求是将请求数据放在http中,而且要使用抓包工具,如wirshark。
get在浏览器回退是是无害的,而post会再次提交请求
get请求参数会被完整的保留在浏览器历史记录里,而post中的参数不会保留
3.如何返回结果?
可以利用相关的API打开一个输出流,并且向输出流中写入一个html页面。但是这并不是一个好方法。一方面这样太麻烦,另一方面从MVC的角度(J2EE中的Front Controller模式)的观点来看,应当提供一些html或者jsp作为视图(view),而servlet根据请求的参数决定跳转到哪个视图。可以利用response.sendRedirect(…)或request.getDispatcher(…).forward()方法来实现。