调用是指什么意思? 是从serlvet跳转到jsp嘛?
可以请求转发 request.getRequestDispatcher("/index.jsp").forward(request,response)
和重定向 response.sendRedirect("/index.jsp")
strtus2 直接在result /中写回就是了
springmvc 他封装到有对象答,modleAndView
❷ java中转发和重定向的区别
转发与重定向的区别如下:
转发是服务器行为,重定向是客户端行为
1.转发在服务器端完成的;重定向是在客户端完成的
2.转发的速度快;重定向速度慢
3.转发的是同一次请求;重定向是两次不同请求
4.转发不会执行转发后的代码;重定向会执行重定向之后的代码
5.转发地址栏没有变化;重定向地址栏有变化
6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成
在servlet中调用转发、重定向的语句如下:
request.getRequestDispatcher("new.jsp").forward(request,
response);//转发到new.jsp
response.sendRedirect("new.jsp");//重定向到new.jsp
转发过程:客户浏览器发送http请求,web服务器接受此请求,调用内部的一个方法在容器内部完成请求处理和转发动作,将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。
重定向过程:客户浏览器发送http请求,web服务器接受后发送302状态码响应及对应新的location给客户浏览器,客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址,服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
重定向,其实是两次request
第一次,客户端request
A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。
❸ java web!页面转发功能实现。
转发用request.getRequestDispatcher(),这个是服务器内部的跳转,属于同一次请求,所以request里的值可以传递。在Forward.jsp页面里做判断
if(request.getParameter("type").equals("teacher"))
request.getRequestDispatcher("Teacher.jsp")
然后在Teacher.jsp里,仍然可以用request.getParameter("name")来取出Login页面里提交的用户名,密码也是一样。
那么Student页面也是一样的方法。
❹ java后台转发jsp地址到到前端页面的时候,前端页面效果未加载是怎么回事
F12开启调试,检查样式和js是否被正常加载,有没有出现404或者其他问题
❺ 在java中,JSP重定向,转发,Cookie,session
既然不需要解释重定向和转发的概念 上面的逐条注释就解释的很清楚了 要别人专解释也是大同小异
首先属对于重定向,转发 要了解他们的工作流程 然后对于Cookie,session的值
Cookie保存于客户端 session保存于服务器 还有一些概念自己查
重定向是客户端跳转,共有二次请求 转发是服务器端跳转 只有最开始打开页面的一次请求
对照上面的概念 自己看看就明白了
第一个是对的 我就不说了
第二个 要记住对Cookie的赋值只有等下一次浏览请求时才能生效。
第三个 第四个 没写入Cookie
第五个 第六个 第七个 第八个 了解session作用范围 基本上写入session的东西 只要不是编译报错 都能取得到 一般很少会把值保存 session里面
还说个request 作用域更小了 保存值+然后重定向=获取不到 以后request 用的多
❻ 在JAVA里面怎么实现JSP文件跳转到另一个JSP文件
两种方法复 forward sendRedirect
使用制forward的时候浏览器不知道它所请求的具体资源来源,所以地址栏不会变;
使用redirect,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。
forward,转发页面和转发到的页面可以共享request里面的数据.
redirect,不能共享数据.
❼ 怎么把java从后台取到的数据传到jsp页面
这个在servlet中可是使用转发实现参数传递
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
//TODOAuto-generatedmethodstub
request.setCharacterEncoding("UTF-8");
request.setAttribute("username","dhweicheng");
request.setAttribute("password","123456");
request.getRequestDispatcher("/my.jsp").forward(request,response);
}
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
<title>页面代码</title>
</head>
<body>
<h5>通过request对象取值</h5>
账号:<%=request.getAttribute("username")%><br/>
密码:<%=request.getAttribute("password")%><br/>
<P>=======================</P>
<h5>通过EL表达式取值</h5>
账号:${username}<br/>
密码:${password}
</body>
</html>
❽ jsp与jsp之间传递java实体对象,怎么接收
jsp与jsp之间传递java实体对象,可以通过用request.setAttribute("name",Object),request.getAttribute("name");或者session.setAttribute("name",Object),session.getAttribute("name");来传递。
但是要注意:
如果用request,要注意request的范围仅限于同一个request对象;如果使用了form的"action"或者response.sendRedirect("xxx.jsp")等调转,则不再是同一个request对象,即用request.getAttribute("name")将取不到值。
换成request.getRequestDispatcher("xxx.jsp").forward(request,response);
才能共享request中数据
如果用session,程序太慢,存在效率问题。