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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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");

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

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 详解数据仓库和数据库的区别「建议收藏」

    详解数据仓库和数据库的区别「建议收藏」一、数据仓库什么是数据仓库?数据仓库(DataWarehouse),可简写为DW或DWH,数据仓库,是为了企业所有级别的决策制定计划过程,提供所有类型数据类型的战略集合。它出于分析性报告和决策支持的目的而创建。为需要业务智能的企业,为需要指导业务流程改进、监视时间,成本,质量以及控制等;数据仓库能干什么?(举几个栗子)年度销售目标的制定,需要根据以往的历史报表进行决策,不能随便…

    2022年10月21日
  • java定时器scheduled_spring定时任务注解

    java定时器scheduled_spring定时任务注解(本文仅供参考)使用spring@Scheduled注解执行定时任务:步骤:1.xmlns添加:http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-3.1.xsdxmlns:task=”http://www.sprin…

  • MQTT–入门「建议收藏」

    MQTT–入门「建议收藏」一、简述 MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网

  • js动画requestAnimationFrame详解「建议收藏」

    js动画requestAnimationFrame详解「建议收藏」看这篇文章之前我希望你会用setTimeout做简单的动画,也就是利用递归来代替setInterval做动画。requestAnimationFrame()他的作用就是代替定时器做更加流畅高性能的动画,做可以匹配设备刷新率的动画,他解决了定时器做动画时间间隔不稳定的问题(也就是解决定时器做动画不流畅的问题)。他的用法与setTimeout差不多。与setTimeout一样的是都会返回一个唯一标识,setTimeout可以通过clearTImeout()关闭定时器。那么requestAnimatio.

  • C# 解析 sln 文件

    C# 解析 sln 文件我的项目,编码工具需要检测打开一个工程,获取所有项目。但是发现原来的方法,如果存在文件夹,把项目放在文件夹中,那么是无法获得项目,于是我就找了一个方法去获得sln文件的所有项目。

发表回复

您的电子邮箱地址不会被公开。

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