jsp实现表单提交跳转「建议收藏」

jsp实现表单提交跳转「建议收藏」页面介绍login.jsp用户登录页面,提交给process.jsp。process.jsp处理页面,若用户名为“admin”,密码为“000”,则跳转到show.jsp,否则跳转login.jsp。show.jsp列出登录页面的属性。源代码login.jsp<formaction=”process.jsp”method=”post”>…


Jetbrains全系列IDE稳定放心使用

页面介绍

login.jsp

用户登录页面,提交给process.jsp。

process.jsp

处理页面,若用户名为“admin”,密码为“000”,则跳转到show.jsp,否则跳转login.jsp。

show.jsp

列出登录页面的属性。

 

源代码

login.jsp

<form action="process.jsp" method="post">
  用户名:<input name="username" value="" /><br>
  用户密码:<input name="pwd" value="" /><br>
  用户性别:<input type="radio" name="sex" value="男">男
           <input type="radio" name="sex" value="女">女<br>
  用户爱好:<input type="checkbox" name="hobby" value="游泳">游泳
		   <input type="checkbox" name="hobby" value="看书">看书 
		   <input type="checkbox" name="hobby" value="看电影">看电影
		   <input type="checkbox" name="hobby" value="写代码">写代码<br>
  用户籍贯:<select name="home">
		     <option value="广州">广州</option>
		     <option value="重庆">重庆</option>
		     <option value="上海">上海</option>
		   </select>
		   <br>
  <input type="submit" value="提交">
  <input type="reset" value="重置">
</form>

process.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
	
	request.setCharacterEncoding("utf-8");
	
	String username = request.getParameter("username");
	String pwd = request.getParameter("pwd");
	String[] hobby = request.getParameterValues("hobby");	
	String sex = request.getParameter("sex");
	String home = request.getParameter("home");
	
	if("admin".equals(username) && "000".equals(pwd)){
		session.setAttribute("username", username);
		session.setAttribute("hobby", hobby);
		session.setAttribute("home", home);
		session.setAttribute("sex", sex);
		request.getRequestDispatcher("show.jsp").forward(request, response);
	}
	else{
		response.sendRedirect("login.jsp");
	}
%>

show.jsp

<%  request.setCharacterEncoding("utf-8"); %>
    用户姓名:<%= session.getAttribute("username")%><br>
    用户性别:<%= session.getAttribute("sex")%><br>
    用户爱好:<% 
    		   String[] hobby = (String[])session.getAttribute("hobby");
    		   for(int i=0; i<hobby.length; i++)
    		     out.println(hobby[i]+"  ");
    	     %><br>
    用户籍贯:<%= session.getAttribute("home")%><br>

 

说明

1、获取表单中对应name属性值的存放的value

String <变量名> = request.getParameter("<表单中的name属性值>");

2、获取表单中复选框选中的所有值,存放在数据中

String[] <一维数组名> = request.getParameterValues("<表单中复选框统一的name属性值>");

3、把数组传入sesstion

session.setAttribute("<存放的变量名或数组名>", <当前页面的变量名或数组名>);

4、在另一页面传出session中存的值

//单值session
<%= session.getAttribute("<变量名>"); %> 

//数组session
String[] <数组名> = (String[])session.getAttribute("<数组名>");
    for(int i=0; i<<数组名>.length; i++)
        out.println(<数组名>[i]+"  ");

5、重定向和转发

//转发
request.getRequestDispatcher("xxx.jsp").forward(request, response);

//重定向
response.sendRedirect("xxx.jsp");

重定向不传数据,地址栏发生变化;

转发是在同一个请求里,地址栏不发生变化。

当需要保存一个内容的时候,使用转发;不需要保存内容的时候,使用重定向。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186936.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • oracle优化器统计信息相关

    优化器使用统计信息来生成每个sql语句最优的执行计划。准确的统计信息对于数据库的效率至关重要。dba和程序开发人员都应该了解一些统计信息相关知识,这可以使你更好的理解为什么会生成一个你看到的执行计划,知其然且知其所以然。

    2022年4月8日
  • PAT乙级_1007

    PAT乙级_1007问题描述:让我们定义dn为:dn=pn+1-pn,其中pi是第i个素数。显然有d1=1且对于n&gt;1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(&lt;105),请计算不超过N的满足猜想的素数对的个数。输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数…

    2022年6月11日
  • 一文读懂BERT(原理篇)

    一文读懂BERT(原理篇)一文读懂BERT(从原理到实践)2018年的10月11日,Google发布的论文《Pre-trainingofDeepBidirectionalTransformersforLanguageUnderstanding》,成功在11项NLP任务中取得stateoftheart的结果,赢得自然语言处理学界的一片赞誉之声。本文是对近期关于BERT论文、相关文章、代码进…

    2022年5月25日
  • yui compressor php,通过yuicompressor-2.4.7压缩css或js的php应用文件

    yui compressor php,通过yuicompressor-2.4.7压缩css或js的php应用文件yuicompressor这是个很好的工具,通过java库编译css或js文件进行压缩。压缩css或者js文件的好处是很多的,减少数据请求量,可以更快的进行数据传输,防止其他人进行窥探或整体直接挪用等等。。。首先你要去下载一个yuicompressor现在最新版本是2.4.7下载地址:yuicompressor使用方法怎么工作在这里都有详细的说明,就不一一介绍了。最常用的yuicompre…

    2022年7月18日
  • 语音识别/合成开源项目

    语音识别/合成开源项目转自:https://blog.csdn.net/github_19776427/article/details/52530066语音识别项目:http://www.oschina.net/project/tag/203/tts-speech sf.net http://www.codesoso.net/Search?q=%D3%EF%D2%F4%CA%B6%B1%F0&amp;l=chttp:/…

    2022年6月26日
  • The method assertEquals(double, double) from the type Assert is deprecated

    The method assertEquals(double, double) from the type Assert is deprecated从网上下载的视频,看着视频做。居然和人家的不一样。assertEquals(doubleexpected,doubleactul)被废弃了,换成assertEquals(doubleexpected,doubleactul,doubledelta)也就是在原来的方法上加一个误差值(double类型)官方解释为:@Deprecatedstaticpublicvoi

    2022年7月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号