Servlet (1)
创始人
2024-11-15 01:34:03
0次

目录

实现功能:

class文件

知识点:

①ServletConfig

②ServletContext

③请求参数中带中文:

④getInitParameter(参数名)

⑤请求参数的获取:

⑥字符串.trim()

⑦字符串比较函数 equals()

 代码:

配置文件

知识点

① 

请求1:form action中的内容

 请求:括号括起来的test3

补充:请求的三种方式: 

①超链接,的href中写请求名

②浏览器地址栏写url   http://ip地址:端口/web应用的名称/请求名(patter-url)

③表单的中提交按钮,action中写请求名

 ②  Web应用的包名位置

③ 数字

④注意:

⑤中的*通配符,

⑥定义初始化变量:在外

 HTML文件:


实现功能:

servlet 在配置文件中设置来判断账号和密码,提交后账号和密码正确就欢迎,否则显示错误

class文件

知识点:

①ServletConfig

这是init()方法的参数,它可以获取当前servlet方方面面的信息

②ServletContext

表示整个web应用,它可以获取当前web应用方方面面的信息,我们可以通过ServletConfig对象调用getServletContext()得到该对象 

 ServletContext sc;
 @Override     public void init(ServletConfig servletConfig) throws ServletException {          sc = servletConfig.getServletContext();      }

上述函数体 sc被赋值为web应用方方面面信息的一个集合,它的类型是ServletContext类型

③请求参数中带中文:

我们需要通过ServletRequest对象调用setCharacterEncoding("UTF-8")转码

同时再调用setContentType("text/html")设置文本页面格式

ServletRequest 和 HttpServletRequest 接口详解-CSDN博客

         servletRequest.setCharacterEncoding("utf-8");         servletResponse.setCharacterEncoding("utf-8");         servletResponse.setContentType("text/html");

④getInitParameter(参数名)

根据参数获得当前Web应用的初始化参数值

String password = sc.getInitParameter("password"); 

⑤请求参数的获取:

我们通过ServletRequest对象调用getparameter(参数名得到数值)

参数名是HTML中name的属性

⑥字符串.trim()

去除空格

  String passwordParam = servletRequest.getParameter("password").trim();         System.out.println(usernameParam);

⑦字符串比较函数 equals()

注意,把一定能取到的值,一般是初始化量.equals(),减少空指针异常

  if (username.equals(usernameParam) && password.equals(passwordParam)) {

 代码:

package com.iweb.test0801_b;  import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.PrintWriter;  public class ServletSecond implements Servlet {     ServletContext sc;      @Override     public void init(ServletConfig servletConfig) throws ServletException {          sc = servletConfig.getServletContext();      }      @Override     public ServletConfig getServletConfig() {         return null;     }      @Override     public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {         servletRequest.setCharacterEncoding("utf-8");         servletResponse.setCharacterEncoding("utf-8");         servletResponse.setContentType("text/html");          String username = sc.getInitParameter("username");        //getInitParameter(参数名)——根据参数名获取当前servlet的初始化参数值          String password = sc.getInitParameter("password");         String usernameParam = servletRequest.getParameter("username").trim();         String passwordParam = servletRequest.getParameter("password").trim();         System.out.println(usernameParam);         System.out.println(passwordParam);            PrintWriter pw = servletResponse.getWriter();         if (usernameParam.equals(username) && passwordParam.equals(password)) {             pw.print("欢迎您" + usernameParam);         } else {             pw.print("账号或密码错误");          }           }      @Override     public String getServletInfo() {         return null;     }      @Override     public void destroy() {         System.out.println("第二个对象被销毁");     } } 

配置文件

知识点

① 

你想叫啥叫啥,就是这个Web的名字,和你Web应用的class名没关系

和写在 html文件中的请求名一致

请求1:form action中的内容
 请求:括号括起来的test3
test3

补充:请求的三种方式: 

①超链接,的href中写请求名
②浏览器地址栏写url   http://ip地址:端口/web应用的名称/请求名(patter-url)
③表单的中提交按钮,action中写请求名

 ②  Web应用的包名位置

③ 数字

控制当前servlet创建和初始化的时机,当取值为非负整数时,servlet对象会在TomCat启动的过程中进创建和初始化

注意:多个servlet创建和初始化的顺序是按照取值从小到大的顺序进行的

④注意:

一个可以对应多个,使得当前java接收不同的请求

⑤中的*通配符,

可以接收任意请求

(1)/*

(2)/

(3)*.后缀

比方说程序运行打开网址为:http://localhost:8088/test0801_b_war_exploded/

那么打开下面代码中写的second界面可以是:http://localhost:8088/test0801_b_war_exploded/任意字母数字符号.do

也可以是: http://localhost:8088/test0801_b_war_exploded/second002

     second     com.iweb.ServletSecond     0                second         *.do                    second         /second002     

⑥定义初始化变量:在外

          username         root                 password         123456     

 

          second         com.iweb.test0801_b.ServletSecond         0                    second         /hello                        username         root                 password         123456       

 HTML文件:

              用户登陆  、 

用户登陆

账号


密码


发起一个请求

test3

相关内容

热门资讯

玩家必备科普透视挂!祺友互娱透... 玩家必备科普透视挂!祺友互娱透视挂多功能AIapp,祺友互娱都是有透视挂app1、下载好祺友互娱透视...
2024教程外挂!闲逸斗地主外... 2024教程外挂!闲逸斗地主外挂多功能AI方法,闲逸斗地主本来是有外挂方法1、让任何用户在无需闲逸斗...
玩家必看科普外挂!久久互娱外挂... 玩家必看科普外挂!久久互娱外挂多功能AI插件,久久互娱一直是有外挂插件1、久久互娱免费辅助多个强度级...
重大推荐开挂!新老夫子开挂多功... 重大推荐开挂!新老夫子开挂多功能AI技巧,新老夫子好像有开挂技巧1、让任何用户在无需新老夫子安装教程...
分享认知透视挂!君悦来透视挂多... 分享认知透视挂!君悦来透视挂多功能AI工具,君悦来确实真的是有透视挂工具1、起透看视 君悦来辅助软件...
专业讨论外挂!微乐广西麻将外挂... 专业讨论外挂!微乐广西麻将外挂多功能AI软件,微乐广西麻将其实存在有外挂软件亲,关键说明,微乐广西麻...
盘点一款作弊器!玄龙大厅作弊器... 盘点一款作弊器!玄龙大厅作弊器多功能AI工具,玄龙大厅竟然真的有作弊器工具1、实时玄龙大厅透视辅助更...
每日必看辅助!MG棋牌辅助多功... 每日必看辅助!MG棋牌辅助多功能AI教程,MG棋牌切实真的有辅助教程1、进入到MG棋牌是否有挂之后,...
玩家必备科普开挂!南京麻将开挂... 玩家必备科普开挂!南京麻将开挂多功能AI软件,南京麻将确实存在有开挂软件1、该软件可以轻松地帮助玩家...
专业讨论外挂!欢乐茶馆外挂多功... 专业讨论外挂!欢乐茶馆外挂多功能AIapp,欢乐茶馆真是是真的有外挂app欢乐茶馆破解侠是真的助透视...