Struts2基础之三:URL路径的跳转 和basePath
来源:互联网 发布:涤纶 锦纶 知乎 编辑:程序博客网 时间:2024/06/08 04:46
一:URL经过Struts找到jsp的流程
上一个示例的URL是http://127.0.0.1:8080/Struts2Project01/myAction01,以它为例:
1. “127.0.0.1:8080/” 会找到Tomcat下web应用的根目录
2. “Struts2Project01” 是tomcat的项目,既然是tomcat的项目 就会先检查其中的web.xml文件
3. web.xml中存在我们设置的过滤器,所以会首先执行过滤器(在配置Servlet之前),这个Struts2的<filter>会去找项目中的struts.xml
4.struts.xml中此<package>的namespace=“/” ,所以“Struts2Project01/XXXXX.action ”的XXXXX,归这个包所解析,
5.“myAction01” 在这个<package>中找对应的 <action>名称,我们正好配置过了这个名称要去执行class中的action,
(这儿如果在包里找不到,还会去找namespace=“”,也就是所有命名空间都可调用的action。再找不到就只能告诉taomcat找不到所需了)
6.我们自定义包中的action执行后,返回“success”
7.<result>校验得到成功信息,所以跳转到指定的jsp,显示内容
web.xml文件如下:(过滤器)
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
struts.xml如下:(namespace、action、result)
<package name="ma1" namespace="/" extends="struts-default"> <action name="myAction01" class="com.rt.struts2.actionDemo.MyAction_01"><!-- 包.类名称 --> <result > /helloStruts2.jsp </result> </action> </package>
二:跳转时的路径
添加一个获得basePath的scriptlet
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>还可以在<head>标签中加一个<base>标签
<head> <base href="<%=basePath%>"/> </head>
这样跳转的时候就可以根据绝对路径跳转,而不是当前页的相对地址
<a href="forwardPath/forwarded.jsp"> head中带“base:标签的跳转 (路径前自动补齐base)</a><br> <a href="<%=basePath%>forwardPath/forwarded.jsp"> 使用scriptlet变量"basePath"的跳转 </a>
- Struts2基础之三:URL路径的跳转 和basePath
- Struts2基础之九:result的服务器跳转和客户端跳转
- jsp路径basepath的作用
- JSP路径basePath的作用
- JSP页面的basePath路径的问题
- thinkphp之URL,跳转和重定向
- Struts2(三)-Struts2之文件的上传和下载
- JSP页面URL转发跳转不同路径图片的思考!
- JSP中 <%@ include file="相对url"%>和path basePath
- struts2服务器跳转和客户端跳转之区别
- 页面跳转URL中"/"和"../"的区别
- Jsp中basePath和path(相对路径、绝对路径)
- jsp中的basePath和path (绝对路径 相对路径)
- jsp中的basePath和path (绝对路径 相对路径)
- jsp中的basePath和path (绝对路径 相对路径)
- Apache Rewrite实现URL的跳转和域名跳转
- Apache Rewrite实现URL的跳转和域名跳转
- Apache Rewrite实现URL的跳转和域名跳转
- cocos2d-x橡皮擦效果---
- 增大apache 2的最大连接数
- shell script学习笔记1
- .NET中的实时编译(JIT)和预编译方式
- 微软100道算法题之001
- Struts2基础之三:URL路径的跳转 和basePath
- 黑马程序员-- .Net学习日记——SQL函数
- 单片机的IO模式
- reboot命令
- 关于 设备安装类GUID、设备接口类GUID
- ExtJS性能太差怎么办?
- WebKit资源加载进度
- Tomcat JSP Web 开发中的乱码问题小结
- 用html5做的树