JSP 通过超链接访问 Servlet JSP 程序中,单击一个超级链接可以访问另外一个页面,该页面可以是 HTML 文件、JSP 文件和 Servlet 程序等。与通过表单访问 Servlet 相同的是,超级链接的目 标地址的值是 Servlet 的 URL 路径。 1.编写代码 现在创建一个案例,演示通过超级链接访问 Servlet 程序。打开记事本,创建 x ian.jsp 文件,其代码如下所示: <%@ page contentType=text/html;charset=GB2312 %> 访问 Servlet 并显示服务器信息 在该文件中创建一个超级链接, 其链接的目标地址是名称为 Req 的 Servlet 文件。 打开记事本,创建 DoRequest.java 文件,其代码如下所示: package test; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class DoRequest extends HttpServlet { private static final String CONTENT_TYPE = text/html; charset=GBK; public void init() throws ServletException {} ServletException, IOException { //处理 get 请求 response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println(); out.println(

处理 Servlet 请求

); out.println(); String protocol=request.getProtocol(); out.println(使用的协议是+protocol+
); String path=request.getServletPath(); out.println(Servlet 的访问路径为+path); int length=request.getContentLength(); out.println(
请求的内容的长度+length); String header1=request.getHeader(User-Agent); out.println(
获取 HTTP 头文件中 User-Agent 的值+header1); String header2=request.getHeader(accept); //初始化 public void doGet(HttpServletRequest request, HttpServletResponse response) throws out.println(
获取 HTTP 头文件中 accept 的值+header2); String header3=request.getHeader(Host); out.println(
获取 HTTP 头文件中 Host 的值+header3); String header4=request.getHeader(accept-encoding); out.println(
获取 HTTP 头文件中 accept-encoding 的值+header4); String IP=request.getRemoteAddr(); out.println(
获取客户的 IP 地址+IP); String clientName=request.getRemoteHost(); out.println(
获取客户机的名称+clientName); String serverName=request.getServerName(); out.println(
获取服务器的名称+serverName); int serverPort=request.getServerPort(); out.println(
获取服务器的端口号+serverPort); String s=接受到一个; String ss=请求,这是对该请求的响应; out.println(

+ s+ request.getMethod() + ss+

); out.println(

); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理 post 请求 doGet(request, response); } public void destroy() {}//清除资源 } 在 Servlet 程序源文件中,首先使用 response 对象设置页面响应的编码形式,即 “response.setContentType(CONTENT_TYPE)” , 下面使用 request 对象获得客户端或 服务器端的信息,如客户端的 IP 地址,提交请求的长度,服务器端的 Servlet 程序 URL 路径等。 接下来使用 out 将获得信息输出到客户端。 service 方法在这里被 doGet 和 doPost 方法代替,doGet 方法处理 HTTP 的 get 请求,doPost 方法处理 HTTP 的 post 请求。 2.部署 将 xian.jsp 文件复制