- 浏览: 279706 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (133)
- GWT (7)
- IT生活 (9)
- JAVA综合 (38)
- Servlet (5)
- vaadin (2)
- About Eclipse (2)
- StarUML (1)
- Spring (7)
- ibatis (3)
- web (35)
- ExtJs (2)
- Quartz (13)
- Struts (1)
- 学习XML (6)
- io流 (2)
- web应用之压缩 (3)
- Spring MVC (0)
- Velocity (5)
- 静态代码分析工具 (2)
- 观点 (1)
- JUnit (3)
- jQuery (4)
- mysql (2)
- javascript (16)
- linux (4)
- pattern (1)
- java加密技术 (2)
最新评论
-
tan4836128:
确实不行,我的1.8.5,降到1.6.2也不行,楼主的情况很局 ...
Spring调用Quartz定时任务报Couldn't store trigger异常 -
alfusen_xiong:
有没有自动注入的方法可以取代executeInternal() ...
Quartz任务中调用Spring容器中bean及动态调度任务 -
luoxiang183:
换了也不行啊
Spring调用Quartz定时任务报Couldn't store trigger异常 -
liubey:
首先谢谢LZ的文章,其实我想问个问题,既然有心做成工具类,就最 ...
对象和map转换 -
小林夕:
几年前用还行,现在做UML一般都开始使用在线作图工具了,可以了 ...
StarUML简介
放在WebRoot下面:优点,程序结构清晰,便于编码和维护;缺点,要加过滤器。
放在WEB-INF下面:优点,不用过滤器;缺点,打乱了程序结构,编码和维护麻烦点。
webroot其实是一个名字而已,在部署后是看不到的,访问的时候在url里肯定也是没有的,当然webroot也可以换成别webcontent等都可以。
如果把这些JSP页面文件移到WEB-INF 目录下,在调用页面的时候就必须把"WEB-INF"添加到URL中。
我们知道,实现页面的跳转有两种方式,一种是通过redirect的方式,一种是通过forward的方式。redirect方式的跳转,系统会在一个新的页面打开要跳转的网页;而forward方式跳转,系统会在原来的页面上打开一个要跳转的网页。所以放到WEB-INF目录下的文件是不允许采用redirect方式的跳转来访问的,如下
例1:/test/test1.jsp文件
<html>
<body>
<form name="testform" action="/WEB-INF/jsp/test/test.jsp">
<input type = "submit" value="test">
</form>
</body>
</html>
上面这段语句只有一个名为test的按钮,如果单击这个按钮是,系统就会跳转到/WEB-INF/jsp/test/test.jsp,它的代码如下:
例2:/WEB-INF/jsp/test/test.jsp文件
<html>
<body>
跳转成功!
</body>
</html>
事实上,这个跳转是无法成功的,点击按钮后,IE会报“403 Forbidden”的错误。
而forward方式的跳转则可以成功,如下代码:
例3:/test/test2.jsp文件
<html>
<body>
<form name="testform">
<jsp:forward page = "/WEB-INF/jsp/test/test.jsp" />
</form>
</body>
</html>
请注意上面红色的语句,这段就是通过forward的形式来访问/WEB-INF/jsp/test/test.jsp文件,在IE输入地址http://localhost/test1/test2.jsp,网页上就显示“跳转成功!”的信息了,这表示放到了WEB-INF可以通过forward的方式来访问。
个人认为,像这种方式的可能不大时候采用一般jsp进行编程的系统,因为很多页面上都有采用submit这样的方式来进行跳转,但这种方式却非常适合采用struts结构的系统。因为采用这个结果大多是先跳转到一个Action类,然后在Action类进行相关处理后(比如说获取相关的信息保存到session中,进行有效性的判断),然后再forward到另外一个页面,这样放到WEB-INF中的jsp代码可以被正常访问,也防止了对这些页面的直接访问,下面我来举例说明。
下面我们先对配置文件struts-config.xml进行配置,如下:
例4:WEB-INF/struts-config.xml文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ========== Action Mapping Definitions ============================== -->
<action-mappings>
<action path="/test"type=" test.TestAction" scope="request">
<forward name="test" path="/WEB-INF/jsp/test/test.jsp"/>
</action>
</action-mappings>
</struts-config>
上面这个配置非常简单,请看红色部分,这里定义了一个action类,它的路径为/test,所对应的类为test.TestAction.java,它都一个跳转页面,别名为test,对应的页面为/WEB-INF/jsp/test/test.jsp。
下面我们对例1的内容进行修改,使其跳转到/test去。
例5:修改后的/test/test1.jsp文件
<html>
<body>
<form name="testform" action="/test">
<input type = "submit" value="test">
</form>
</body>
</html>
这样我们在IE中访问http://localhost/test/test1.jsp,然后点击test按钮,页面就会跳转到test.TestAction.java这个类来,下面是这个类的内容。
package test;
import javax.servlet.http.*;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
public class TestAction extends Action
{
public ActionForward perform(ActionMapping mapping,ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
return mapping.findForward("test");
}
}
可以看到,这个类是继承Action类的,所有的控制类都必须继承Action类,这个类里面有一个perform方法,跳转到这个类都是从这个方法进行访问的(新版本可以是execute方法),现在这个方法里面只有一条语句,这句话的意思就是跳转到一个别名为test的页面,也就是/WEB-INF/jsp/test/test.jsp页面,这样我们点击test按钮后,IE就会显示“跳转成功!”这条信息,这表示系统允许这样的跳转
这说的是struts中可以这么配置,如果没有struts的话,单纯servlet处理跳转,那么只能写成这种形式的了
request.getRequestDispatcher("WEB-INF/jsp/test/test.jsp").forward(request, response);
发表评论
-
(转)解决ie6下png图片不透明方法
2011-12-08 13:41 1298第 1 种方法:定义一个样式,给某个div应用这个样式后,di ... -
js 实现map存取值及遍历(借鉴及添加)
2011-11-02 17:22 7239基本功能借鉴别人例子,自己添加遍历map functio ... -
表格中文本自动换行
2011-11-01 14:22 1223IE中解决方法如下: word-wrap:break-wor ... -
常见的几种禁止修改输入框
2011-10-25 18:44 2564<INPUT TYPE = text STYLE = & ... -
(转)javascript 格式化金额
2011-10-19 16:35 1496//Javascript 格式化金额 //格式化: var ... -
velocity 字符串与数字转换
2011-10-19 14:19 3459#set($Integer = 0) $Integer.par ... -
onchange、onpropertychange和oninput事件
2011-09-30 13:55 21101、onchange事件与onpropertychange事件 ... -
jquery设置div位置
2011-09-28 14:02 3978var p = $("p:first"); ... -
按钮常用样式
2011-09-27 17:01 1325按钮常用样式 CSS样式 .btnNormal { ... -
jQuery获取单选框和多选框的值
2011-09-26 17:52 4047单选框: <label><input ty ... -
JavaScript 字符串转换数字
2011-09-26 17:51 966方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转 ... -
js String方法
2011-08-25 11:09 1099javascript中字符串的方法: • concat() ... -
javascript 用var和不用var声明的变量区别
2011-08-25 09:47 1362加var的变量 就要看声明在哪个位置,如果没有在任何方法里面, ... -
js中undefined,null,NaN的区别
2011-08-25 09:45 10541.类型分析: js中的数据类型有undefined,boo ... -
a href=#与 a href=javascript:void(0) 的区别 打开新窗口链接的几种办法
2011-08-24 13:48 1105#包含了一个位置信息 默认的锚点是#top 也就是网页的上端 ... -
Spring DI(依赖注入) IOC(控制反转) AOP(面向切面编程)
2011-08-22 09:43 2130spring 的优点? 1.降低了 ... -
js中escape,encodeURI,encodeURIComponent (转)
2011-08-18 14:55 1171js对文字进行编码涉及3 ... -
Ext renderer参数详解
2011-08-18 13:44 1417renderer: function (value, cell ... -
$F()的使用
2011-08-17 17:27 1011$F()是一个能够简化编码量的函数, 对于字段输入控件有效,包 ... -
javascript中暂停功能
2011-08-17 13:09 1134<script language="javas ...
相关推荐
### Eclipse中web-inf和meta-inf文件夹的信息 #### 一、META-INF 文件夹 `META-INF` 文件夹是 Java 应用程序中的一个重要组成部分,它主要用于存放与应用程序相关的元数据信息,例如清单文件(`MANIFEST.MF`)等。...
如果是通过其他手段入侵服务器的话,把JSP文件放在WEB-INF目录下和放在其他地方有什么区别呢?真正的原因是,对于早期直接嵌入Java代码的JSP,是直接给出JSP路径给用户访问的,这种情况恰恰不能放在WEB-INF目录下。...
其中,WebRoot目录(通常命名为`WebContent`或`src/main/webapp`)是用于存放Web资源(如HTML、CSS、JS文件及JSP页面等)的根目录。 2. **WebRoot目录**:在标准的Java Web应用中,WebRoot目录是指包含所有Web资源的...
了解了WebRoot和WebContent的区别和共同点之后,开发者可以根据自己的开发工具和项目需求来合理地组织项目资源,确保资源的正确访问和使用。在实际开发中,对于Web应用的安全性和资源组织结构有更高要求的项目,可能...
\web\WebRoot\register.jsp D:\web\WebRoot\WebRoot.xml 必须存放在D:\Tomcat5\conf\Catalina\localhost\下 [我的Tomcat 安装目录是:D:\Tomcat5] D:\web\WebRoot\说明.Txt <br>D:\web\WebRoot\imags\bg....
【标题】"WebRoot.rar" 是一个压缩文件,通常在Web开发中,WebRoot是Web应用程序的根目录,存放着所有公开访问的Web资源,如HTML、CSS、JavaScript文件以及Servlet类等。这个RAR文件可能包含了某个Web项目的结构和...
2. **WebContent**(或称`webroot`):这个目录包含了Web应用的所有静态资源,如HTML、CSS、JavaScript文件,以及JSP页面。此外,它还包含`WEB-INF`目录,其中的`web.xml`文件是Web应用的部署描述符。 如果想要改变...
“src”目录包含了项目的源代码,“WebRoot”则是Web应用的主要部分,其中包含了静态资源如HTML、CSS、JavaScript文件以及JSP页面。“WEB-INF”目录则存放了Web应用的关键配置文件“web.xml”及第三方库(位于“lib...
2. 将fckeditor-java-demo-2.4.1.zip包中的\WEB-INF\lib下的五个jar文件复制到项目的WebRoot\WEB-INF\lib目录下。 3. 在WebRoot目录下新建UserFiles文件夹,并在此文件夹下新建Image、Flash、File、Media四个文件夹...
在项目的WebRoot目录下,通常包含以下几个关键部分: 1. **JSP文件**:这些文件是用户与应用程序交互的主要界面,它们结合了HTML、CSS和JS,以及嵌入的Java代码。例如,登录、注册、商品展示等页面都是通过JSP实现...
【描述】"Tomcat-ROOT.rar" 提示这是一个包含Tomcat服务器根目录(即WEB-INF和相关的文件)的压缩包。通常,这个目录包含了Web应用的基本组件,如WEB-INF下的web.xml(部署描述符),类文件,以及静态资源(HTML、...
`WEB-INF`目录下有`web.xml`(部署描述符)、`classes`(存放编译后的Java类)和`lib`(存放项目依赖的jar文件)。 ### JSP与Servlet的关系 JSP本质上是一个Servlet,JSP编译后会生成对应的Servlet类。在处理请求...
例如,`WebRoot/WEB-INF/jsp`目录下可能包含各种JSP文件。 3. **WEB-INF**:这个目录包含不直接对外公开的文件,如`web.xml`——Web应用的部署描述符,用于配置Servlet和Filter等。 4. **Servlet类**:虽然源代码...
2、修改totgb/WEB-INF/classes目录下的log4j.properties文件中log4j.appender.file.File为你的log文件存放目录。 3、安装数据库:mysql -u root -p 存放目录\install\totgb.sql 3、修改数据库的连接参数;打开totgb/...
* 确认文件是否存放在正确的目录下,避免引用META-INF 或 WEB-INF 文件夹下的内容。 4. Tomcat 服务器中 web.xml 中的问题 如果您的 Web 应用程序有多个 JSP 页面,在点击虚拟根目录时可能会出现 404 错误。 排错...
WEB-INF下有lib目录,用于存放JSP运行所需的类库,以及web.xml,它是应用的配置文件,包含应用程序的详细设置,如Servlet的映射等。 创建一个名为first.jsp的文件,编写简单的JSP代码,如示例所示,保存后,通过...
webapp 目录存放实例页面及JSP源文件 -------------- 数据库安装说明 -------------- 了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,并将ajax.sql文件导入即可。 下面是简要操作方法: 1. ...
由于META-INF和WEB-INF文件夹下的内容无法对外发布,所以,如果你引用了带这两个目录的文件,肯定是不允许的。例如:http://localhost:8080/guestbook/WEB-INF/index.html就是错误的文件位置存放错误。 四、Tomcat...
webapp 目录存放实例页面及JSP源文件 -------------- 数据库安装说明 -------------- 了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,并将ajax.sql文件导入即可。 下面是简要操作方法: 1. ...
webapp 目录存放实例页面及JSP源文件 -------------- 数据库安装说明 -------------- 了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,并将ajax.sql文件导入即可。 下面是简要操作方法: 1. ...