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

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

  1. android servlet乱码问题,初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码)...

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

  2. jsp和servlet映射关系

    <form method="post"   action="SelectBeer.do"   >Select beer characteristic ...

  3. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  4. 使用JSP/Servlet技术开发新闻发布系统

               第一章:动态网页开发基础  动态网页:是指在 服务器端运行的,使用程序语言设计的交互式网页,它们会根据某种条件的变化,返回不同的网页内容 动态网页需要使用服务器端的脚本语言,例如 ...

  5. Jsp+Servlet基础

    一.Tomcat服务器 1. 基本概念 Tomcat本意为公猫的含义,最初是由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发的,后来他帮 助将其变为开源项目并由Sun公司贡献给Apache软件基金会. ...

  6. JSP/Servlet程序设计(入门书籍)

    Web开发技术 1. 静态开发技术: (1)HTML HTML是网站开发最基本的语言,是WEB的核心.所有后续的WEB开发技术都以HTML为基础. (2)CSS CSS(Cascading Style ...

  7. Jsp+Servlet+JavaBean经典MVC模式理解

    MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...

  8. JSP/Servlet中的汉字编码问题

    JSP/Servlet中的汉字编码问题 问题的起源 每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII码, 中国的 GB2312-80,日本的 JIS 等,作为该国家/区 ...

  9. app登录界面背景 css_计算机毕业设计中Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)...

    点击上方"蓝字",关注我们. 本文利用MyBatis+jsp+servlet+html+css+javascript实现了一个简单的登录页面.对用户输入的用户名和密码就行校验,校验 ...

最新文章

  1. WGCNA加权基因共表达网络分析(1)简介、原理
  2. mysql命令:查看表结构
  3. nginx根据参数转发到不同服务器_Nginx服务器之负载均衡策略
  4. python调用js获取异步返回的数据_Python怎么获取js动态加载的数据
  5. 《Python 快速入门》C站最全Python标准库总结
  6. 计算机操作系统--思维导图
  7. 【磨刀不误砍柴工】keil软件仿真评估代码运行时间
  8. 电脑MAC地址查询方法
  9. wifi共享大师去广告的方法
  10. 苹果税要崩溃了!又一国家做出判决:iOS必须开放第三方支付
  11. 我的Redis哨兵为什么不切换?
  12. Mongodb 查询重复数据
  13. Trunk和Access分析
  14. 三大通信运营商天猫电器城开店
  15. Git 回退撤销相关命令,毫无保留,都在这里了!!!
  16. 开悟和通货膨胀!!!
  17. 全国青年乒乓球锦标赛
  18. 【题解】bzoj-1415 NOI-2005 聪聪与可可
  19. linux cisco路由器,Linux认证:Linux用dynamic模拟cisco路由器
  20. 微软ERP Axapta与Sap、Oracle的比较

热门文章

  1. Netty使用Marshalling传输信息
  2. 5G技术标准制定已加速 所有炒作都将变成现实
  3. 反射机制2,Class类的使用
  4. 学习 TTreeView [7] - Insert、Delete
  5. php 获取网卡mac
  6. 主动找智能钥匙 PKE取代RKE是大势所趋
  7. Windows下 Apache+PHP5+MYSQL5+phpmyadmin 规范安装
  8. 可视化界面编程idea_BAT 的程序员用了这些 IDEA 插件, 志玲姐姐天天鼓励, 工作效率提高 320%...
  9. mysql导出bacpac_数据库的迁移
  10. 由一个问题引发的思考