1.如何开始学习jsp(转发)
一个普通的错误是把JSP当作简化的 Java。
它不是,(事实上, JSP 是简化的 servlets 。)程序员通常试着没有学习要求的支持技巧而直接学习JSP 。
JSP 是一个衔接技术,并且成功地连接你需要理解的另外的技术。如果你已经知道 Java , HTML 和 Javascript,这意味着JSP 将确实是简单的。
需要成为一个成功的 JSP 程序员可以参考这个时间表。请注意下列: *忽略你已经熟悉的步骤。
*训练的时间只是代表学习好足够的基础时间,这样才能转移到下一步。 1、建立并且理解你的Web Server。
因为Apache 是免费的并且在大多数平台上工作,为训练目的推荐 Apache。 安装时间:2 天。
2、保证你理解 HTML / XHTML 。 你将需要了解html基础, 特别是 HTML 布局中的table的使用。
XHTML 不久将代替 HTML ,学习 XHTML 的基础是一个好主意。许多程序员 通过 HTML IDE 学习 HTML ( 集成开发环境 ) 。
因为大多数 HTML IDE产生混乱的HTMl语法,所以花时间学习手工写作html是很有必要的。因 为你将会使用 JSP 和 HTML 混合编程,精通HTML语法是重要的。
所以,你必须能流利地写 HTML 。 训练时间:2 ~ 4 个星期。
3、开始学习 Java 。 开始学习 Java 1.3 理解 Java 基础是很重要的。
不用担心学习Swing或 Java 的图形方面,因为在JSP 中你不会使用这些特征。集中精力 在 Java 工作的细节,学习 Java 的逻辑,也在 Java Bean上花时间。
学习Applet是好的, 但是就象Swing, JSP 的大多数应用将不使用小程序。 训练时间:3 ~ 6 个星期。
3、学习 JavaScript 训练时间:一~ 2 个星期。 4、学习并且理解你的Web Server的更好的细节。
熟悉Web Server的特征,这是很重要的。 训练时间:2 天。
2.JSP页面转发
你点击修改的时候,不能够直接跳转到jsp页面。
正常来说是这样做的,点击修改,访问action中的方法(比如说“getUpdatePage()”),在这个方法中,你根据提交的参数查找所要修改的那个对象,将它保存到request的Attribute中,然后跳转到修改页面。这样在页面上才能显示。
例子(SSH框架的,界面使用struts标签):①修改链接:/admin/getPageAction!getUpdateAdminPage.action?nid=
3.java里面如何我只想让一个jsp跳向另外一个jsp,servelet应该怎么写
可以使用重定向response.sendRedirect("URL") 或者是转发request.getRequestDispatcher("URL").forward(request, response)
但两者有点区别:
当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程,地址栏的URL会保持不变;重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。
4.JSP中转发和重定向的区别
重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择转发。
综上,转发和重定向的区别 :
不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。
5.java web
转发用request.getRequestDispatcher(),这个是服务器内部的跳转,属于同一次请求,所以request里的值可以传递。在Forward.jsp页面里做判断
if(request.getParameter("type").equals("teacher"))
request.getRequestDispatcher("Teacher.jsp")
然后在Teacher.jsp里,仍然可以用request.getParameter("name")来取出Login页面里提交的用户名,密码也是一样。
那么Student页面也是一样的方法。
6.在java中,JSP重定向,转发,Cookie,session
既然不需要解释重定向和转发的概念 上面的逐条注释就解释的很清楚了 要别人解释也是大同小异
首先对于重定向,转发 要了解他们的工作流程 然后对于Cookie,session的值
Cookie保存于客户端 session保存于服务器 还有一些概念自己查
重定向是客户端跳转,共有二次请求 转发是服务器端跳转 只有最开始打开页面的一次请求
对照上面的概念 自己看看就明白了
第一个是对的 我就不说了
第二个 要记住对Cookie的赋值只有等下一次浏览请求时才能生效。
第三个 第四个 没写入Cookie
第五个 第六个 第七个 第八个 了解session作用范围 基本上写入session的东西 只要不是编译报错 都能取得到 一般很少会把值保存 session里面
还说个request 作用域更小了 保存值+然后重定向=获取不到 以后request 用的多