浅说Servlet

若是一个web应用彻底由jsp来完成,jsp的工做以下:java

一、接收客户端请求参数web

二、进行业务调用api

三、将业务数据进行传递到三个上下文对象中tomcat

四、进行页面转发session

五、接收三个上下文对象中的数据app

六、进行java对象的页面渲染,成为HTML。jsp

注意其中红色的部分,并不符合JSP作为Page的工做角色,也与java的分工协做精神相背离,咱们须要一个角色的出现,完成此部分工做。。。。。,它就是HttpServlet。ide


与JSP类似,它也是在第一次被访问时,由Tomcat实例化(再次注意JSP不是网页,是java的类),但不一样的是Servlet须要以类的形式由开发者编写并在发布前编译,同时其访问的url,由开发者进行指定(jsp的url为天然地址)。ui


类的编写规则以下:this

public class TestServlet extends HttpServlet {//必须继承HttpServlet
//请求为GET时执行
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//request和response就是jsp中的那两个内置对象
HttpSession session=request.getSession();//这是session
ServletContext application=this.getServletContext();//这是application
/*
那些仍然可使用的api
request.getParameter("xxx");
request.setAttribute("key", "value");
request.getAttribute("kkk");
session.setAttribute("mm", "value");
request.getRequestDispatcher("url").forward(request, response);
*/
}
//请求为GET时执行
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}


该类的实例化工做及方法的调用,由tomcat根据客户端的请求自动调用。但必须加以配置工做的参数,才能让tomcat知道它的存在。配置的方式以下(WEB-INF/web.xml):


<!-- 指定TestServlet在 Tomcat中的名字为“TestServlet” -->
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>ui.TestServlet</servlet-class>
</servlet>
<!-- 指定它的url为"/test" -->
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>

通过以上的两个步骤,就可让这个Servlet工做起来了!

相关文章
相关标签/搜索