[日常笔记]Servlet-请求和相应的路径

Servlet-请求和相应的路径

示例:

  • 创建一个web工程,在web工程目录下面创建一个包,在包下面创建一个Class类来继承javax.servlet.http.HttpServlet,重写doGet与doPost方法。
package com.zkk;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class req_demo extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			//用来判断通过html访问Servelt,访问到了的话就在输出窗口打印出doGet被访问
		System.out.println("doGet被访问了");
	}
	
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}
}
  • 在WebRoot创建dir1文件夹,在其下创建一个1.html和在WebRoot下创建一个2.html。通过使用<a href=""></a>来访问Servelt来学习相对路径和绝对路径。
1.HTML
<h1>相对路径</h1>
<a href="">HelloServlet</a>

2.HTML
<h1>相对路径</h1>
<a href="">HelloServlet</a>
  • web,xml的配置
<servlet>
		<servlet-name>req_demo</servlet-name>
		<servlet-class>com.zkk.req_demo</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>req_demo</servlet-name>
		<url-pattern>/hello</url-pattern>
	</servlet-mapping>
1.客户端请求和相应的路径的访问
  • 通过访问 1.html 来访问 Servlet
    1.直接访问 1.html 与 Servlet
    Servelt 访问路径
    在这里插入图片描述
    1.html 访问路径
    在这里插入图片描述
    通过访问 Servlet 与 1.html 的路径可以看出 http://localhost:8080/reqresp_demo/ 这部分是相同的。由此可以看出要想通过 1.html 中的 a 标签 来访问 Servlet 的话,就需要将 dir1/1.html 转换成 hello。
    在这里插入图片描述
  • 通过访问2.html 来访问 Servlet
    1.直接访问 2.html 与 Servlet
    Servelt 访问路径
    在这里插入图片描述
    2.html 访问路径
    在这里插入图片描述
    通过访问 Servlet 与 2.html 的路径可以看出 http://localhost:8080/reqresp_demo/ 这部分是相同的。由此可以看出要想通过 2.html 中的 a 标签 来访问 Servlet 的话,就需要将 2.html 转换成 hello。
    在这里插入图片描述
  • 根据当前资源路径 与 目标资源路径,寻找相对位置关系,通过 . (当前目录) 和 … (上一级目录) 访问目标资源。
2.服务器端请求和相应的路径的访问

1.html的绝对路径的访问和 2.html的绝对路径的访问
在这里插入图片描述
这样访问的弊端是端口固定了,如果我们换个端口进行访问的话就访问不了。
在这里插入图片描述
这样访问的好处是不固定端口,可以改变端口来进行访问。

  • 服务器端跳转,通过访问 2.html 跳转到 1.html页面
protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("doGet被访问了");
		//http://localhost:8080/reqresp_demo/dir1/1.html
		request.getRequestDispatcher("/dir1/1.html").forward(request, response);
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值