随笔 - 95,  文章 - 0,  评论 - 0,  阅读 - 14253

BS 浏览器访问服务器

   缺点:页面不会很好看

   优点:不需要手动更新,可以保持更多的连接

CS 客户端访问服务器

   优点:页面更好看

   缺点:手动更新数据

Http状态:200 ok 正常

          302 重定向

          404 没找到资源

          500 服务器内部错误

Tomcat:中间件 服务器,在学习过程中一直使用的开源的服务器, 类似还有jetty/jboss/websphere

下载,安装,启动(双击startup.bat),关闭

tomcat和eclipse集成

 

定义servlet有3种方式

1 写一个类实现servlet接口,重写方法

 在web.xml 配置Servlet和servlet-mapping这两个标签

2 写一个类继承GenericServlet类,重写方法

3 写一个类实现继承HttpServlet类,重写方法

 

页面请求servlet

1 在页面地址栏输入url 敲回车

2 这个请求去匹配web.xml 的url-pattern元素

如果资源不存在返回404

如果存在,根据servlet-name找到servlet-name的同胞元素servlet-class

    第一次,这个类会进行实例化操作,调用service方法进行处理

    第一次以后,将不会再实例化,调用service方法进行处理

3 页面获取到响应以后,解析数据包显示在页面上,同时会把连接断开

 

HttpServletRequest

请求头

 

Request:页面上所有的传递的信息都封装在此对象里面,根据需要调用不同的方法可以得到不同的值

 

获取页面传参有4种方式 :

1 Request.getParameter(String name) 返回字符串的值

 

 

第二种方式

Request.getParameterValues 返回String[] 包含参数值的字符串对象数组

 

 

 

 

 

第三种 request.getParameterNames 返回枚举

返回包含此请求中包含的参数名称的字符串对象的枚举。如果请求没有参数,则方法返回空枚举。

回报:

String对象的枚举,每个字符串都包含请求参数的名称;如果请求没有参数,则为空的枚举

 

 

如果在后台进行获取信息

while遍历

 

 

 

 

 

第四种方式

Request.getParameterMap 返回的是一个map集合

 

 

 

 

 

HttpServletResponse响应对象

响应浏览器信息。把要显示的内容封装到response对象里面

方法:

PrintWriter :response.getWriter():得到一个打印流,打印的内容是浏览器显示

sendRedirect:重定向

SetCharsetEncoding(String charset):默认为iso-8859-1编码

 

响应头:

 

 

 

提交方式有get/post两种

Get有两种:1 超链接

            2 表单里面的method=”get”

 

Post:1 表单method=”post”

 

至于调用doGet/doPost 取决于有几个方法存在

1 只有doGet/doPost两个方法存在,看提交方式是哪一个 get请求就是doGet处理,如果post请求是doPost处理

2 有doGet/doPost/service三个方法存在,一定是service方法处理

3 有doGet/doPost/service/父类的service 四个方法存在,优先使用父类的service方法处理

 

 

 

get/post区别

Get:1 传参显示在地址栏上,不安全,有可能被一些工具所获取

2 把链接发给别人,大家看到的内容是一样的

3 get是幂等性的,可以缓存记录的

4 get提交的内容比较少的,不能上传大的视频等

 

Post:1 post是提交表单,登录,内容是藏在form-data里面,更安全

     2如果再次提交表单,不幂等,所以会弹出提示,是否要重新提交表单

     3可以提交大的数据,比如电影文件之类

 

 

乱码处理

      欧洲标准编码iso-8859-1

Tomcat8 :doGet 没有处理乱码,但也没乱码,无需处理

        DoPost 有乱码

                 处理方案:1 使用name = new String(name.getBytes(),”utf-8”);

                           2 统一设置 request.setCharsetEncoding(“utf-8”)

Tomcat7:doGet 要处理  1 name = new String(name.getBytes(),”utf-8”);

                     2 在tomcat/conf/server.xml connector元素添加 URIEncoding=”UTF-8”设置后不会出现乱码

 

过滤器(后面介绍)也可以处理

页面用Js:encode(字符器)   后台用java:decode处理

 

posted on   天涯何  阅读(244)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示