jsp页面放到WEB INF 跟webroot的区别
JSP存放在 WEB-INF 跟webroot的区别
放在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这样的方式来进行跳转,但这种方式
相关文档:
问题如下:
之前,写过一个Download.jsp文件,可以解决下载文件乱码问题(诸如:DOC,XSL文件等等).
后来发现,遇到中文名的文件的时候,文件下载将会报错~~~~
今天,通过改写原Download.jsp文件已经彻底解决了这个问题~
现在,把一整套的文件上传下载的方法给贴出来~~~以便大家借鉴!~!~!~!~!
作者:古埃及法老
download ......
页面的输入和输出涉及到了Request和Response,由于他们和Jsp中的相似,
下面我们进行详细的解读:
JSP中:
在动态网页开发中,HTML表单是与用户交互信息的主要手段。
使用JSP处理表单请求时,一般遵循这样一种模式,首先,用户通过表单控件输入并提交信息;接着,JSP页面获得表单数 ......
第一讲(参考《Java Web程序设计基础教程》第1章)
1 JSP 和 Java的关系
一般Java指的标注版 Java SE
另外两个版本:Java EE 和 Java ME
JSP属于Java EE的一部分。
Java EE:
组件:Web层组件(JSP+Servlet)+业务层组件(EJB)
&n ......
el表达式分类
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
分 类 功能分类 标签名称
Core 表达式操作 out
set
remove
catch
流程控制 if
......
今天在学习jsp中数据库的使用时,遇到一个很奇怪的情况(至少现在看来是的)。jsp中连接mysql数据库,开启mysql数据库后,在jsp页面中嵌入的java连接mysql数据库的那几句代码。好像 Class.forName("org.gjt.mm.mysql.Driver");没起到作用,只需要Connection con=DriverManager.getConnection("jdbc:mysql://localhost/test? ......