关于JSP中的传值

1.表单form的属性action

在表单form中有个属性是action,他的作用是用于,数据提交到表单然后表单响应到的地址
而method响应有两个方法,一个是get,一个是post.
默认是get,所以写不写方法都一样.

2.关于HTML中的name属性和id属性中的作用

name属性的参数是用于后端的,也就是给action的.
 id属性的参数是用于给前端脚本的

3.关于method中的get和post

get方法响应出来是参数是直接显示在浏览器URL中.
post方法则是不在地址栏中显示,而是封装在request对象中,但是还是可以看见(在F12中看见).


登录成功
1.把请求转发给ok.jsp,不响应客户端,也不继续处理客户端请求,让ok.jsp对客户端进行响应

这句话的意思就是登录参数request给例如a2.jsp,这个时候是客户端给出的请求,而a2.jsp不知道这个请求有什么用,然后在服务端中把这个请求又给了ok.jsp所以导致在客户端把登录信息给完a2.jsp是应该转到ok.jsp但是因为转到ok.jsp是在服务端执行的所以客户端不解析,所以他的输出地址还是a2.jsp

案例:
<form action="a2.jsp" method="post">
用户名:<input type="text" name="username" id="username"><br> 密码:<input type="password" name="password"><br> <input type="submit"> </form> String username = request.getParameter("username"); String password = request.getParameter("password"); if (username.equals("admin")&&password.equals("123456")){ //登录成功 response.sendRedirect("ok.jsp"); }else{ //登录失败 response.sendRedirect("error.jsp"); } %> 在ok.jsp,已经无法取出传给a2.jsp中的username //这里是a1.jsp <form action="a2.jsp" method="post"> 用户名:<input type="text" name="username" id="username"><br> 密码:<input type="password" name="password"><br> <input type="submit"> </form> 这里是a2.jsp <% String username = request.getParameter("username"); String password = request.getParameter("password"); if (username.equals("admin")&&password.equals("123456")){ //登录成功 //不影响客户端 //response.sendRedirect("ok.jsp"); //1、把请求转发给ok.jsp,不响应客户端,也不继续 处理客户端请求 //让ok.jsp对客户端进行响应 request.getRequestDispatcher("ok.jsp").forward(request, response); //问题,地址栏会发生改变吗? //2、把数据也发一份给ok.jsp }else{ //登录失败 response.sendRedirect("error.jsp"); } %>

登录成功

EL表达式

${值}
${param.值}

猜你喜欢

转载自www.cnblogs.com/skjy/p/9147104.html
今日推荐