JavaWeb————如何找到相应Servlet类及其方法

jsp文件中标签属性中加入的超链接是url一部分
在这里插入图片描述
对应xml文件中的url-pattern
在这里插入图片描述
也会有一个对应servlet-name>标签(同在servlet-mapping>里面)
之后会通过这个servlet-name>标签找到相同的一个在servlet>标签里面对应的,从而找到这个servlet-class>,这个servlet-class>里面的内容就是所对应的java类(servlet)所在的位置了
之后就是执行servlet里面的方法了,服务器能够根据你点击的是超链接而知道提交的请求是get请求,所以执行doGet请求;同样的,如果你提交的是一个表单(在jsp文件当中的一个form>标签),那么服务器就知道这个是一个post请求,所以执行的是doPost方法了。
servlet文件中保留的方法

protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
	System.out.println("service"/*+name*/);
	super.service(arg0, arg1);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	System.out.println("doGet");
	response.getWriter().append("Served at: ").append(request.getContextPath());
}

发布成功
在这里插入图片描述
控制台输出语句
在这里插入图片描述
页面跳转连接
在这里插入图片描述
f12打开编辑器,查看network,后退再次演示此过程,会看到请求网址和请求方法
在这里插入图片描述
Tomcat会以项目名为间隔,截取最后的文件名 /ZZServlet,截取到以后就会到web.xml中寻找,找一个url-partan一样的,然后得到servlet-name,然后拿servlet-name标签中的内容到servlet标签中另外一个与之匹配的servlet-name
在这里插入图片描述
然后就找到了对应的servlet类.
需要注意的是,如果servlet-mapping中的servlet-name改变,不与servlet标签中的servlet-name内容一致,就会报错(此处不做演示)
servlet类中的service方法起分工的作用,客户所有的请求无论是get还是post,都会先交由service方法处理,根据发送请求的方式不同,调用对应的方法

protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
	System.out.println("service"/*+name*/);
	super.service(arg0, arg1);
}

super调用父类的方法

猜你喜欢

转载自blog.csdn.net/qq_44724446/article/details/92397777