JSP的内置对象及方法(4)
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
4、WEB应用程序文件夹的结构
--WEB-INF
|
|------------web.xml
|------------lib文件夹 JAR文件
|------------classes 类文件
|------------tags TagFile标签文件
--静态资源与JSP文件
5、请求和响应:
(1)请求ServletRequest->HttpServletRequest
getParameter(String)、
getHeader()、
getParameterValues(String)、用于复选框
getParameterNames、
getRemoteAddr、得到远程地址
getLocalAddr、得到本地地址
getLocale、得到本地化信息
getSession/getCookies
getRequestDispatcher
(2)响应ServletResponse->HttpServletResponse
sendRedirect
sendError
setHeader/addHeader/setIntHeader
getWriter/getOutputStream :这两个方法绝对不可以同时被调用!!!!!
setContentType/setCharacterEncoding
6、请求的转发和响应的重定向之间的区别要搞清楚
(1)转发:
A、三种转发的方法:
RequestDispatcher.forward/include
<jsp:include>
<jsp:forward> 等价于RequestDispatcher.forward();return;
也就是说使用RequestDispatcher.forward()后,下面的代码仍然要执行,但是<jsp:forward>执行后,下面的代码就不执行了。www.2cto.com
pageContext.forward/include
B、如何得到RequestDispatcher:
request.getRequestDispatcher
ServletContext.getRequestDispatcher
RequestDispatcher的请求转发、Jsp页面中指令元素include、以及ServletContext中的getResourceAsStream(String path)
(用来读出文件夹中的路径资源)都可以访问WEB-INF文件夹,
比如为了防止用户访问一些受保护的页面(比如控制器Servlet),把它们放到WEB-INF中去,请求转发的时候可以去访问。
有的时候需要读取WEB-INF中的一些配置资源,需要ServletContext中的getResourceAsStream方法。
而且有的网站的各个页面具有相同的头图片和尾图片,这些东东就可以放到WEB-INF文件夹中用page元素的include指令来包含进来。
注意如果使用ServletContext的RequestDispatcher,要从A应用程序转发请求到B,必须设定A的crossContext值为true!
(2)重定向
response.sendRedirect:比如在注册结束后转到下一个页面的时候,一定要使用重定向改变浏览器的URL地址!
请求的转发不可能脱离Tomcat服务器的范围,如果想要脱离本服务器的话,只能通过响应重定向的方式。重定向要生成一个临时的响应,(响应
一旦生成请求就结束了)浏览器接到这个临时的响应后不显示任何东西而是发送请求去找新的地址。
二、JSP
1、模板和元素:
对于JSP来说,它是不可执行的,必须翻译成Servlet才能执行,必须要容器特殊处理的叫做元素,
直接打印到输出流中去的是模板
元素分为以下几种:
1脚本元素
2指令元素
3动作元素
1脚本元素:
(1)脚本片断:翻译后原封不动的放到service方法里面
(2)脚本声明:放在类里面,但是是在service方法外面,
(3)脚本表达式:原封不动的放到out.print里面去,脚本表达式不可以加分号。
内置对象绝对不可以在脚本声明中去用!因为它们的作用是在service方法里面的。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>