大二下学期学习进度(十一)

编码行数:600行

编码时长:20h

发表博客篇数:4篇

所学知识点:

1.Session的具体用法:

       

前端提交表单

<form action="b.jsp" method="post" onsubmit="return check()">
   <p>session1:<input type="text" name="name1" id="name1"></p>
   <p>session2:<input type="text" name="name2" id="name2"></p>
   <p>session3:<input type="text" name="name3" id="name3"></p>
   <p><input type="submit" name="submit" id="submit" value="提交"></p>
</form>
后台jsp页面获取input框中值,将其存进sessio中,并将其传给下一个jsp页面显示。这里用的十<a href 超链接跳转界面
<a href="<%
request.setCharacterEncoding("UTF-8");
String name1 = request.getParameter("name1");
String name2 = request.getParameter("name2");
String name3 = request.getParameter("name3");
 session.setAttribute("name1",name1);
 session.setAttribute("name2",name2);
 session.setAttribute("name3",name3);
 request.getRequestDispatcher("c.jsp").forward(request,response);
%>"></a>
同样获取session的值并且显示在界面
<%request.setCharacterEncoding("UTF-8");
String name1 = (String)session.getAttribute("name1");
String name2 = (String)session.getAttribute("name2");
String name3 = (String)session.getAttribute("name3");%>
<p>Session1的值为:<%=name1 %></p>
<p>Session2的值为:<%=name2 %></p>
<p>Session3的值为:<%=name3 %></p>
这样实现了session值的传递。
2.几种不同的跳转界面的方法,
前台form提交表单
<form action="judge.jsp" method="post" onsubmit="return check()">
            <span style="color:red;font-size:25px;">账号</span><input type="text" name="useid" id="useid" />
            <span style="color:red;font-size:25px;">密码</span><input type="password" name="pw" id="pw" />
             <button type="submit">登录</button>
           
   </form>
跳转到judge.jsp界面,获取用户名和密码,并判断用户名密码是否正确<%
String useid = request.getParameter("useid");
String pw = request.getParameter("pw");
if(useid.equals("jsj")&&pw.equals("123")){
 response.setCharacterEncoding("UTF-8");
 response.sendRedirect("success.jsp?useid=" + useid + "");
 

 response.sendRedirect()是指重定向跳转页面,跳转的页面文件的相对路径或URL以字符串形式写在括号内,
a)IE浏览器地址会改变,变成重定向地址,用两个请求。
b)是response方法,数据是不共享的,
c)response.sendRedirect是通过浏览器来做转向的,所以只有在整个页面处理完成后,才会有实际的动作。
d)重定向可以跳转到当前web应用,或其他web应用,甚至是外部域名网站。

e)不能再重定向的过程,把数据保存到request中


如: response.sendRedirect("success.jsp?useid=" + useid + "");

}
else{
 
 %>
    <jsp:forward page="fail.html">
    <jsp:param value="<%=useid%>" name="useid"/>
    <jsp:param value="<%=pw%>" name="pw"/>
    </jsp:forward>
   
<%
}
%>
 
Ⅱ.Servlet转发
 a)转发,其地址栏不会发生改变
b)只能转发到当前web应用内的资源,不可以转发到外部web
c)转发过程中,数据可以保存在reques对象中,servlet和jsp共享同一个request对象
d)一个请求,一个响应。
 
例如:request.getRequestDispatcher("/list.jsp").forward(request,response);
 
3.用<jsp:param>封装数据信息,<jsp:forward>是当前JSP文件向另一个文件传递一个包含用户请求的request对象.
 
 %>
    <jsp:forward page="fail.html">
    <jsp:param value="<%=useid%>" name="useid"/>
    <jsp:param value="<%=pw%>" name="pw"/>
    </jsp:forward>
   
<%
posted @ 2019-05-18 20:27  HHHarden13  阅读(97)  评论(0编辑  收藏  举报