`
cakin24
  • 浏览: 1388709 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

请您先登录,才能继续操作

Servlet路径跳转

    博客分类:
  • java
阅读更多
一 绝对路径:放之四海而皆准的路径。
 
二 相对路径:相对于当前资源的路径。
 
三 代码
1、index.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">   
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
  </head>
 
  <body>
    <h1>Servlet路径跳转</h1>
    <hr>
    <!--使用相对路径访问HelloServlet -->
    <!-- /servlet/HelloServlet 第一个/表示服务器的根目录 -->
    <a href="servlet/HelloServlet">使用相对路径访问HelloServlet!</a><br>
    <!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录-->
    <a href="<%=path%>/servlet/HelloServlet">使用绝对路径访问HelloServlet!</a><br>
    <!--表单中action的URL地址写法,与超链接方式完全相同。 -->
    <a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a>
    
  </body>
</html>
2、web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
        xmlns="http://java.sun.com/xml/ns/javaee";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  <display-name></display-name>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>servlet.TestServlet</servlet-class>
  </servlet>
 
 
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <!--url-pattern处必须以/开头,这里的/表示项目的根目录  -->
    <url-pattern>/servlet/HelloServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/servlet/TestServlet</url-pattern>
  </servlet-mapping>       
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
3、TestServlet.java
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
    /**
     * Constructor of the object.
     */
    public TestServlet() {
        super();
    }
    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }
    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     *
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request,response);
    }
    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     *
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
         //请求重定向方式跳转到test.jsp,当前路径是ServletPathDirection/servlet/,所有下面这句不对
         //response.sendRedirect("test.jsp");
         //使用request.getContextPath获得上下文对象
         //response.sendRedirect(request.getContextPath()+"/test.jsp");
    
        //服务器内部跳转,这里的斜线表示项目的根目录
        //request.getRequestDispatcher("/test.jsp").forward(request, response);
        request.getRequestDispatcher("../test.jsp").forward(request, response);
    }
    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }
}
 
四 测试

 
  • 大小: 36.2 KB
1
0
分享到:
评论

相关推荐

    jsp与Servlet跳转实例

    ### jsp与Servlet跳转实例:深入理解信息提交与页面跳转 在Web开发中,JSP(Java Server Pages)和Servlet是两个重要的技术组件,它们共同协作来处理客户端请求并生成动态网页内容。本文将详细解析一个具体的案例...

    jsp+servlet路径状态的测试

    在探讨“jsp+servlet路径状态的测试”这一主题时,我们深入分析了在JSP与Servlet环境下,不同路径(绝对路径与相对路径)在页面跳转过程中的表现及其对资源定位的影响。本测试旨在理解并优化JSP页面之间的跳转机制,...

    JSP、Servlet中的相对路径和绝对路径(包括路径问题).mht

    JSP、Servlet中的相对路径和绝对路径(包括路径问题),解决繁琐的路径问题。

    jsp_servlet路径问题

    ### JSP/Servlet中的路径...特别是在涉及到文件读取、资源定位以及页面跳转等方面时,合理的路径设计能够有效提高系统的灵活性和稳定性。希望以上内容能够帮助开发者更好地理解并运用JSP和Servlet中的路径处理技巧。

    路径跳转问题.txt

    ### 路径跳转问题解析 #### 一、背景介绍与问题定义 在Web开发过程中,路径跳转是常见的需求之一。无论是前端还是后端,开发者都需要处理各种类型的URL跳转来实现页面间的导航。从给定的信息来看,“路径跳转问题....

    Servlet跳转方式sendReDirect

    - 调用`request.getRequestDispatcher(path).forward(request, response)`,其中`path`参数是一个相对于当前Servlet上下文的路径,用于指定要跳转的目标资源。 - 当使用`forward()`时,请求和响应对象会被传递到...

    servlet获得下拉列表的值,并跳转到相关页面

    需要注意的是,这里的页面路径(如"page1.jsp")应当相对于Servlet部署的位置。如果这些页面位于其他目录,需要提供正确的相对路径或者绝对URL。 此外,为了保证良好的编程实践,我们还需要考虑异常处理和安全性。...

    通过servlet实现登陆界面的跳转

    总结来说,通过Servlet实现登录界面的跳转涉及以下几个关键点: 1. 创建HTML登录表单,指定提交时调用的Servlet。 2. 编写Servlet,处理POST请求,获取并验证用户输入。 3. 根据验证结果,使用`sendRedirect`进行...

    jsp与Servlet跳转实例借鉴.pdf

    JSP与Servlet跳转实例借鉴 本资源是关于JSP与Servlet跳转实例的借鉴,通过三个JSP页面(Index.jsp、Input.jsp、Confirm.jsp)和三个Servlet(InputServlet、ConfirmServlet、ResultServlet)来实现用户登录验证和...

    Web_2_Servlet的基本使用和跳转1

    Web 2 Servlet 的基本使用和跳转 在本节中,我们将讨论 Web 2 Servlet 的基本使用和跳转。首先,我们将回顾 HTTP 协议,然后讨论 Servlet 的基本使用和跳转。 HTTP 协议回顾 HTTP 协议是应用层的面向对象的协议,...

    java servlet 几种页面跳转的方法

    在Java Servlet中,页面跳转是常见的操作,用于实现用户请求的不同处理结果导向不同的页面。通常,这些操作发生在`doGet`、`doPost`等HTTP请求处理方法中。本文将详细介绍两种主要的页面跳转方法:`redirect`和`...

    关于servlet的jar包

    然而,在命令行或者非IDE环境下,需要手动将Servlet JAR包添加到项目的类路径(ClassPath)中,这样编译器和Java虚拟机才能找到并使用Servlet相关的类。 下载Servlet JAR包后,可以按照以下步骤将其添加到项目中: ...

    java Web 中相对路径绝对路径问题总结

    在Java Web开发中,理解和掌握相对路径与绝对路径的运用是至关重要的,因为这直接影响到资源定位、页面跳转以及文件读写等操作的正确性。以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与...

    servlet实现登录动能

    这样,访问`/login`路径的请求将由`LoginServlet`处理。 3. **Servlet请求与响应处理**: - `doGet()`或`doPost()`方法:根据HTTP请求方法(GET或POST)处理请求。在这个登录场景中,通常使用`doPost()`,因为...

    Java_Servlet入门教程.pdf

    在JSP中,可以使用HTML表单的`action`属性指向Servlet的URL映射,或者通过`&lt;jsp:forward&gt;`指令直接跳转到Servlet。 #### 四、Servlet共享变量 Servlet容器提供了多种方式来实现数据共享,最常见的是使用`...

    J2ee中的路径问题(word文档)

    在Java Web开发中,路径的概念至关重要,尤其是在处理JSP和Servlet之间的跳转时。本文将深入探讨J2EE环境中路径的基本概念及其应用方法,包括相对路径和绝对路径的定义、获取路径的方法,以及在JSP和Servlet中路径...

    JSP的Servlet连接

    在web.xml文件中,`&lt;servlet-mapping&gt;`标签定义了Servlet的URL路径,`url-pattern`属性是客户端访问Servlet的路径。例如,如果设置为`/login`,那么用户可以通过http://localhost:8080/test01/login来访问这个...

    JSPServlet新手学习资料

    1. **forward()**:服务器端的转发,URL不变,效率较高,常用于内部跳转,避免暴露实际路径。 2. **redirect()**:客户端重定向,浏览器地址栏显示新URL,效率较低,用于外部跳转或跨域跳转。 理解并掌握这些基本...

    Web项目设置的路径要求

    例如,在`web.xml`中通过`&lt;url-pattern&gt;`元素指定Servlet的映射路径,如`/servlet/*`表示所有以`servlet`开头的URL都会被映射到该Servlet处理。 4. **虚拟路径**:通过服务器端的配置将实际的物理路径映射为一个虚拟...

Global site tag (gtag.js) - Google Analytics