struts2 跳转方式,请求分派,重定向

http://localhost:8080/s2_05_HCM_05/hcm/employee/helloworld
1、action 成员中的信息默认会保存在request 范围中.注意属性应该保证有set方法.
2、默认的转发方式是请求分派

3、http://localhost:8080/s2_05_HCM_05/hcm/employee/message
<!-- 如果没有找到指定result,会到继承的base package中找 -->

4、测试重定向 重定向的时候,不能定向到WEB-INF下的jsp页面,
这个路径下只有服务器可以访问,客户端是不能通过浏览器访问到的,
除非通过action跳转到该页面

重定向:直接定向到JSP页面  type="redirect"
http://localhost:8080/s2_05_HCM_05/hcm/employee/redirect

重定向:通过action做跳转      type="redirectAction"
http://localhost:8080/s2_05_HCM_05/hcm/employee/redirectAction

重定向:从一个包重定向到其他的包

5、查看文件源码,可以指定以什么编码读取文件
http://localhost:8080/s2_05_HCM_05/hcm/employee/testCode

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 
 <package name="base" extends="struts-default">
  <global-results>
   <result name="message">/WEB-INF/page/message.jsp</result>
  </global-results>
 </package>
 
 <!-- package namespace + action name  唯一确定页面的跳转 --> 
 <package name="itcast" namespace="/hcm/employee" extends="base">
  <!-- 用${username}可以取到作用域中的属性名称对应值 -->
  <!-- 默认作用域是request -->
  <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="{1}">
   <result name="success">/WEB-INF/page/hello.jsp?username=${username}</result>
   <result name="message">/WEB-INF/page/message.jsp</result>
  </action>
  
  <action name="testCode">
   <result type="plainText">index.jsp</result>
  </action>
  
  <action name="testCode2">
   <result type="plainText">
    <param name="location">/index2.jsp</param>
    <param name="charSet">UTF-8</param><!-- 以什么编码读取文件 -->
   </result>
  </action>
  
  <!-- 如果没有找到指定result,会到继承的base package中找 -->
  <action name="message" class="cn.itcast.action.HelloWorldAction" method="add">
   <!--  
   <result name="message">/WEB-INF/page/hello.jsp</result>
   -->
  </action>
  
  <!-- 测试重定向,注意:重定向不能定向到WEB-INF路径下的jsp页面,除非通过action跳转 -->
  <action name="redirect">
   <result type="redirect">/hello.jsp</result>
  </action>
  <!-- 重定向,经过action跳转   本包 -->
  <action name="redirectAction">
   <result type="redirectAction">helloworld!add</result>
  </action>
  
  <!-- 重定向到其他的包 -->
  <action name="redirectAction2">
   <result type="redirectAction">
    <param name="actionName">helloworld</param>
    <param name="namespace">/hcm/redirect</param>
   </result>
  </action>
 </package>
 
 <package name="testDirect" namespace="/hcm/redirect" extends="base">
  <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute">
   <result name="success">/WEB-INF/page/employeeAdd.jsp</result>
  </action>
 </package>
 
</struts>
时间: 2024-08-10 21:26:00

struts2 跳转方式,请求分派,重定向的相关文章

django中web页面的跳转方式

web的页面跳转方式 转发(forward) 重定向(redirect) 转发 render 服务器默认的跳转方式是转发 转发的特点: 地址栏地址不会发生改变 一次请求 可以携带数据到模板中 只能在服务器内部进行转发 重定向 redirect 重定向的特点: 地址栏会发生改变 2次请求 不能够携带数据到模板 重定向可以重定向到一个外部请求上(如百度) 重定向发送2次请求的原因: 当用户发送请求到后台处理数据的时候,后台如果使用 redirect 做页面跳转的话: 那么服务器会响应一个特殊的头信息

struts2 的跳转方式

在struts2中有4中跳转方式 1. dispatcher        请求转发(默认),只跳到jsp页面 2. redirect         重定向到jsp 3. redirectAction        重定向到action 4. chain           转发到action 在说这之前,让我们说下请求转发和重定向的概念,如果你已经了解转发和重定向,可以跳过,直接看下面. 转发和重定向 1. 转发是服务器内部之间进行的 重定向是用户重新向服务器发送新的请求 2. 转发地址栏不

Struts2的动态方法,及result跳转方式,全局结果以及默认的action的配置

Action动态方法的调用 首先我们需要在struts.xml中去配置一个常量值如下 那么去哪找呢?找到Struts-core.jar并打开 method属性 <action name="login" class="cn.ssh.ch08.UserAction" method="lgoin"> <result name="success">/success.jsp</result> <

Java Web -- Servlet(13)HttpServletRequest详解(获取请求数据、请求分派、请求域)(2)

                                    HttpServletRequest ---------------------------------------------------------------- (4)请求分派 Servlet API中定义了一个RequestDispatcher接口,俗称请求分派器. 它有两个方法 forward(ServletRequest request,ServletResponse response) include(Serv

Web---HTTP请求、重定向、转发和数据压缩

HTTP常用的请求方式包括: GET-最为常见,但发送的数据量很小,发送的数据直接包含到url的后面. POST-可以包含大量数据,数据在请求正文中通过表单进行提交. HEAD,PUT,DELETE. 后面三种Tomcat服务器默认都不支持.常用的只有前两种. GET: 发送到服务器的数据出现在URL的后面.最多不能超过1K.如: http://localhost:8080/index.jsp?name=itcast&sex=man&.. POST: 发送到服务器的数据会出现有请求的正文部

jsp中几种跳转方式和参数共享

整理了一下jsp入门中的跳转和数据共享问题,写成这篇博文希望对大家有帮助,参考文章列在后面: 常用的跳转方式有以下几种: (1)href超链接标记,属于客户端跳转 (2)使用javascript完成,属于客户端跳转 (3)提交表单完成跳转,属于客户端跳转 (4)使用response对象,属于客户端跳转 (5)使用requestDispatcher类,属于服务器跳转 下面一一来看 (1)href超链接标记 这个比较简单,通常写到a标签里即可,来完成指定位置的动态跳转比较方便 代码:<a href=

Jsp 四种跳转方式

四种跳转方式 request.getRequestDispacher().forward()跳转: (1)服务器端跳转. (2)执行后立即跳转. <jsp:forward>跳转: (1)实际上是对上面 forward 方法的封装,属于服务器端跳转,跳转之后地址栏不改变. (2)执行到后立刻跳转.跳转之前的语句会执行,跳转之后的语句将不会执行.如果在 JSP 中使用了 JDBC 的话,必须在跳转之前进行数据库的关闭,否则数据库将无法关闭. response.sendRedirect()跳转: (

HTTP 对Location跳转方式的特殊处理

我们知道,某些情况下由于网站迁移,权限,页面错误时我们可能需要跳转页面到错误页面,如 1.HTTP/1.1 404 Not Found 2.HTTP/1.1 301 Moved Permanently 3.HTTP/1.1 302 Moved Temporarily 但是我们发送响应码只是一种状态机制,因此往往我们需要选择合适的跳转方式,Location跳转是一种常见的方式,特别对于做SEO的同学来说 下面我们通过php语言来说明(结果与编程语言无关) index.php <?php heade

Servlet 两种跳转方式

response.sendRedirect , // 重定向,服务器端将uri返回到客户端,客户端再次发送请求. RequestDispatcher  rd  =  getServletContext().getRequestDispatcher("/login.jsp"); rd.forward(request,response);  //跳转,直接从服务器端访问 uri Servlet 两种跳转方式