【Spring注解驱动开发】JSP“三大请求传参方式

简介: 【Spring注解驱动开发】JSP“三大请求传参方式


  1. 使用JSP的forward或include动作,利用传参数子动作实现参数的传递,‘
  2. 在JSP或HTML页面中,利用表单传递参数,
  3. 利用追加在网址后的参数传递或追加在超链接后的参数传递
    **需注意的是:**在上述的三种传参方式中,方式1和方式3属于get类型的参数提交方式,而方式2属于get或post方式的参数提交方式,它可以通过form的method属性进行参数的选择,

get请求与post请求的不同之处是前者参数会显示在地址栏。

get请求:

post请求:

一、访问请求参数的方法

===========

同时,request对象的getParameter()方法可以接收不同的来自于JSP页面或JSP动作传递给request对象的参数信息。该方法的使用格式如下:

String 字符串变量 = request.getParameter(“客户端提供参数的name属性名”);

其中需要注意的是:参数name与客户端提供参数的name属性名应该相同,同时request对象的getParameter()方法返回的是string类型的参数,如果参数name的值不存在,则会返回空值null

接下来分别对这三种传参方式进行介绍:

二、form表单传参

==========

表单界面代码:

<body>
    <form action="myjsp.jsp" method="post">
     姓名:<input type="text" name="name"><br>
     电话:<input type="text" name="tel"><br>
     <input type="submit" value="提交">
     </form>
</body>

表单界面效果:

接收界面代码:

 <body>
<%
String name = request.getParameter("name");
    String tel = request.getParameter("tel");
     %>
     <font facr="楷体" size=5>
     获取到的信息是:<br>
     姓名:<%=name %>
     电话:<%=tel %>
     </font>
</body>

接收界面效果:

中文乱码解决


如上我们可以看出,在我们传递了中文“张三”之后,在接收页面出现了乱码问题,解决办法如下:

1、在接收界面的代码中,在获取参数值之前增加如下代码:

request.setCharacterEncoding(“utf-8”);

2、在提交表单的action后的method属性需设置为“post”。

现在再来看一下:

 <body>
    <%
    request.setCharacterEncoding("utf-8");
    String name = request.getParameter("name");
    String tel = request.getParameter("tel");
     %>
     <font facr="楷体" size=5>
     获取到的信息是:<br>
     姓名:<%=name %>
     电话:<%=tel %>
     </font>
  </body>

效果如下:

3、在传递过来的中文参数中存在乱码问题,原因是中文参数采用了页面原有的“ISO-8859-1”编码,因此我们可能需要将传递过来的参数的编码格式修改为“UTF-8”格式,格式转换的代码如下:

String name = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);

三、网址或超链接传参

==========

利用网址或超链接传参的格式如下:

<a href=”超链接或网址?参数名1=参数值1&参数名2=参数值2…”>点击跳转

传值界面代码:

 <body>
   <a href="myjsp.jsp?name=zhangsan&tel=123456">点击传值</a>
 </body>

传值界面效果如下:

接收界面代码:

 <body>
<%
    String name = request.getParameter("name");
    String tel = request.getParameter("tel");
     %>
     <font facr="楷体" size=5>
     获取到的信息是:<br>
     姓名:<%=name %>
     电话:<%=tel %>
     </font>
  </body>

接收界面效果:

中文错误解决


但是当我们将传递的name值改为中文“张三”后,

<body>
   <a href="myjsp.jsp?name=张三&tel=123456">点击传值</a>
  </body>

点击传值出现如下界面:

原因是因为在超链接或网址传参中,参数属于网址的一部分,同时这一部分是属于URL编码的,不支持中文的utf-8,因此在传递中文时会显示网址错误,解决办法是将我们要传递的中文转成URL编码即可:

java.net.URLEncoder.encode(“中文”,“utf-8”)将中文转换成URL编码

相关文章
|
25天前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
168 73
|
20天前
|
Java Spring 容器
【SpringFramework】Spring IoC-基于注解的实现
本文主要记录基于Spring注解实现IoC容器和DI相关知识。
49 21
|
4天前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
27天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
332 0
|
13天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
25天前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
25天前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
|
1月前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
60 11
|
1月前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
53 5
|
1月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。