初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码)

简介: Servlet映射的细节同一个Servlet映射多个URL上,即多个元素的子元素的设置值可以是同一个Servlet的注册名第一种方法:第二种方法:第三种方法:通配符(*.

Servlet映射的细节

同一个Servlet映射多个URL上,即多个<Servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名

第一种方法:

第二种方法:

第三种方法:通配符(*.do 或者 *.html)

第四种方法:通配符(/*)

HttpServletRequest

创建Servlet实现了Servlet接口

//servlet服务的方法

public void service(ServletRequest arg0, ServletResponse arg1)

throws ServletException, IOException {

// TODO Auto-generated method stub

System.out.println("servlet服务开启了");

}

 

ServletRequest:封装了请求的信息,可以从中获取请求的信息

ServletRequest:

1.可以获取请求的参数

String(返回类型) getparameter(String name);

使用这个方法,只有获取单个字符串,若是请求参数有多个值(checkBox),该方法只能获取到第一个提交的值【最常用】

例:获取a标签中的参数

例:获取单选框中的值

 

String[ ](返回类型) getParameterValues(String name);根据请求的参数的名字,返回请求参数对应的字符串数组【最常用】

例:获取多选框中的值

HttpServletRequest:继承了ServletRequest并基于Http协议

提供了对用户的请求,信息统一封装的接口,一般用于Servlet容易提供的。里面包含了大量的获取Http请求的相关方法

2.获取请求URL

StringBuffer getRequestURL();

3.获取请求的URI

String getRequestURI();

4.获取method的方法

String getMethod();

5.获取servlet请求映射路径

String getServletPath();

例:

结果

6.设置正文的编码格式

String getCharsetEncoding(String s);

7.获取正文的编码格式

String getCharsetEncoding();

8.设置请求正文的MIME的类型,如果不知道类型,则返回null

String setContentType();

9.获取请求的正文的MIME的类型

String getContentType();

 

获取request信息

1.获取请求正文的长度,若长度未知返回-1

request.getContentLength();

2.获取URI,URL是URI的自己,结果是:

request.getRequestURI();

3.获取请求的方式

request.getMethod();

4.获取所有的请求头的名字,返回值是枚举类型

request.getHeaderNames();

5.通过请求头的名字,获取值

request.getHeader(name);

6.获取项目的根路径:结果为:/FormServlet

request.getContextPath();

 

get与post区别?

区别一:

get重点是在服务器上获取资源,post重点在于向服务器发送数据

区别二:

get传输数据是通过url请求,以字段=value的形式,置于url后,并用“?”连接,多个请求数据间用“&”连接,如http://127.0.0.1:8020/JQueryDemo/HTML1.html?user=%E5%BC%A0%E4%B8%B9&pwd = 123这个过程是可见的。

post传输数据是通过http的post机制,将字段与对应的值封存找到请求的实体中,整体发送给服务器,这个过程是对用户不可见的。

区别三:

get传输数据量小,因为受url长度限制,但效率高。post传输数据量大,传输的数据量不是无限大的,所以上传文件时,只能用post方法。

区别四:get是不安全的,因为URL是可见的,可能会泄露信息。post较get安全性高

区别五:get方式只能支持ASCII字符,向服务器传的中文字符,有可能会乱吗。post支持标准字符集,可以正确传递中文字符

解决乱码格式

1.在JSP页面里(默认编码格式为:ISO8859-1)使用中文会乱码,必须把

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>中的pageEncoding="ISO8859-1"改成pageEncoding="UTF-8";

2.对于不同的请求

(1)doGet:对于解决doPost的方式,doGet不适用

第一种方式:在 Tomcat 中的 conf 文件夹下的 service.xml 中的如下标签中加入 URIEncoding="UTF-8"

< Connector URIEncoding = "UTF-8" connectionTiomeout="20000" port="8080"  protocal="HTTP/1.1" redirectPort="8443"/>

第二种方法:

request.setCharacterEncoding(“UTF-8”);

通过修改tomcat的server.xml中的代码:useBodyEncodingForURI=“true”

<Connector port="8088" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443"

useBodyEncodingForURI=“true”/>

还需要加上

response.setContentType(“text/html;charset-UTF-8”);

(2)doPost:

只要回去请求之前调用:request.setCharacterEncoding(“UTF-8”);

在响应页面之前调用:response.setContentType(“text/html;charset=UTF-8”);

目录
相关文章
|
JavaScript Java 容器
servlet过滤器Filter简要回顾-过滤请求字符编码,/和/*和/**的区别
本文简要回顾了Servlet过滤器Filter的概念和使用,通过实例演示了如何创建过滤器以过滤请求字符编码,并解释了在web.xml中配置过滤器时使用`/`、`/*`和`/**`的区别。
servlet过滤器Filter简要回顾-过滤请求字符编码,/和/*和/**的区别
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
238 3
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
538 1
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
250 1
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
187 1
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
386 12
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
386 10
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
372 9
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
240 7
|
前端开发 安全 Java
Java服务器端开发实战:利用Servlet和JSP构建动态网站
【6月更文挑战第23天】**Servlet和JSP在Java Web开发中扮演关键角色。Servlet处理业务逻辑,管理会话,JSP则结合HTML生成动态页面。两者协同工作,形成动态网站的核心。通过Servlet的doGet()方法响应请求,JSP利用嵌入式Java代码创建动态内容。实战中,Servlet处理数据后转发给JSP展示,共同构建高效、稳定的网站。虽然新技术涌现,Servlet与JSP仍为Java Web开发的基石,提供灵活且成熟的解决方案。**
387 8