***********************五.动作元素****************************************
一.动态包含
<jsp:include page=""/>
二.传参
<jsp:include page="">
<jsp:param name="" value=""/>
</jsp:include>
三.转发
JSP
<jsp:forward page=""/>
Servlet
request.getRequestDispatcher("success.jsp").forward(request,response);
四.
**************************************model1*****************************************
jsp + jabean + jsp(控制器)
***************转发和重定向的区别(面试题)*************************************
重定向
response.sendRedirect("success.jsp");
区别:
1. 转发是服务器的内部行为,URL地址不变,一个请求、一个响应
重定向服务器的外部行为, 强制用户发出第二个请求,URL地址会改变,两个请求、两个响应
2.因为转发是服务器的内部行为,所以只能转发给本服务器上的其他资源(jsp、servlet、html等)
重定向因为是服务器的外部行为,可以重定向到任何资源(http://www.baidu.com)
***************forward和include区别(面试题)*************************************
RequestDispatcher对象的forward和include的区别
Servlet 中 使用转发代码转发 到 success.jsp 先执行success.jsp
然后由success.jsp给用户响应、响应完以后留就关闭了,再执行servlet中转发
后面的代码,如果转发后面的代码 还有输出语句 用户并不会看到(因为流已经关闭了)
而include是相当于把succcess.jsp输出的内容包含在这个位置(流并没有关闭),所以
如果include后面 还有输出的代码 用户可以看到...
******************JSP的九个内置对象(面试题)************************************
JSP的内置对象
tomcat容器已经把某些对象给你new出来 你可以直接在JSP页面中 使用 这些对象叫做内置对象
JSP Servlet
1. request HttpServletRequest
2. response HttpServletResponse
3. session HttpSession
4. application ServletContext
5. page Object
6. pageContext PageContext
7. config ServletConfig
8. out JspWriter
9. exception Throwable
**********************************request对象************************************************
常用方法
getParameter(String name) 获得参数值,name参数名,form中的name
getParameterValues(String name)或者指定参数的所有值
setAttribute(String name,Object object)
getAttribute(String name)
getSession(true) 返回和请求相关的session,如果没有则创建一个新的session
request.setCharacterEncoding("utf-8");
1.演示getParameterValues()方法
需求: 获取复选框中的内容
System.out.println("您选择的爱好如下:");
String[] hobbyArr = request.getParameterValues("hobby");
for(String hobby:hobbyArr){
System.out.println(hobby);
}
2.
setAttribute(String name,Object object)
getAttribute(String name)
向request范围内存数据,请求范围内有效
try {
service.addCategory(category);
target = "msg.jsp";
request.setAttribute("msg","添加商品成功");
} catch (Exception e) {
target = "msg.jsp";
e.printStackTrace();
request.setAttribute("msg","失败!");
}
msg.jsp
<%=request.getAttribute("msg") %>