【JavaWeb程序设计】Servlet(一)

目录

一、客户端通过login.jsp发出登录请求,请求提交到loginServlet处理。

[1. 运行截图](#1. 运行截图)

[2. 登录页面(login.jsp)](#2. 登录页面(login.jsp))

[3. loginServlet](#3. loginServlet)

[4. 登录成功页面(loginSuccess.jsp)](#4. 登录成功页面(loginSuccess.jsp))

[5. 登录失败页面(loginFail.jsp)](#5. 登录失败页面(loginFail.jsp))

二、使用ServletConfig检索Servlet的初始化参数,请补充填写以下①-⑥空,并运行ConfigDemoServlet程序,将运行结果截图。

[1. 编写ConfigDemoServlet程序](#1. 编写ConfigDemoServlet程序)

[2. 修改web.xml文件](#2. 修改web.xml文件)

[3. 在浏览器的地址栏中输入下面URL访问该Servlet](#3. 在浏览器的地址栏中输入下面URL访问该Servlet)


一、客户端通过login.jsp发出登录请求,请求提交到loginServlet处理。

如果用户名和密码相同则视为登录成功,跳转到loginSuccess.jsp页面,显示"欢迎你"+用户名;否则跳转到loginFail.jsp页面,显示"登录失败",通过超链接返回login.jsp。

1. 运行截图

(1)输入账号密码相同

成功登录

(2)输入账号密码不一致:

登录失败

点击超链接返回登录页面

2. 登录页面(login.jsp)

表单提交到loginServlet

3. loginServlet

4. 登录成功页面(loginSuccess.jsp)

5. 登录失败页面(loginFail.jsp)

二、使用ServletConfig检索Servlet的初始化参数,请补充填写以下①-⑥空,并运行ConfigDemoServlet程序,将运行结果截图。

1. 编写ConfigDemoServlet程序

java 复制代码
package Servlet;

import java.io.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;



public class ConfigDemoServlet extends HttpServlet{

String servletName=null;

ServletConfig config=null;

String email=null;

String telephone=null;



public void init() {

config =____①______;

servletName = config.getServletName();

email = ____②____;

telephone =____③___;

}



public void service(HttpServletRequest request, HttpServletResponse response)

             throws ServletException,IOException{  

  response.setContentType("text/html;charset=gb2312");

  PrintWriter out = response.getWriter();

  out.println("<html><body>");

    out.println("Servlet名称:"+servletName+"<br>");

    out.println("Email地址:"+email+"<br>");

    out.println("电话:"+telephone);

    out.println("</body></html>");

}

}

填空:

①getServletConfig()

②config.getInitParameter("email")

③config.getInitParameter("telephone")

2. 修改web.xml文件

在其中添加下面Servlet定义和初始化参数定义

XML 复制代码
<servlet>

    <servlet-name>    ④    </servlet-name>

    <servlet-class>    ⑤    </servlet-class>

    <init-param>

      <param-name>email</param-name>

      <param-value>hacker@163.com</param-value>

    </init-param>

    <init-param>

      <param-name>telephone</param-name>

      <param-value>8899123</param-value>

    </init-param>

    

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

     <servlet-name>   ④    </servlet-name>

     <url-pattern>     ⑥     </url-pattern>

  </servlet-mapping>

填空:

④ConfigDemoServlet

⑤servlet.ConfigDemoServlet(存放位置如下图)

⑥/configDemo

3. 在浏览器的地址栏中输入下面URL访问该Servlet

http://localhost:8080/bookstore/configDemo

修改url如下:

修改模块应用程序上下文:

重启Tomcat之后访问该Servlet结果如下

相关推荐
小江的记录本7 分钟前
【RabbitMQ】RabbitMQ核心知识体系全解(5大核心模块:Exchange类型、消息确认机制、死信队列、延迟队列、镜像队列)
java·前端·分布式·后端·spring·rabbitmq·mvc
!停13 分钟前
C++入门—内存管理
java·jvm·c++
海参崴-16 分钟前
C语言与C++语言发展历史详解
java·c语言·c++
无尽的罚坐人生20 分钟前
hot 100 146. LRU 缓存
java·开发语言·缓存
好家伙VCC20 分钟前
**发散创新:基于算子融合的深度学习推理优化实战**在现代AI部署场景
java·人工智能·python·深度学习
wd5i8kA8i23 分钟前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
java·开发语言·php
却话巴山夜雨时i27 分钟前
Java大厂面试:从Spring Boot到微服务的深度剖析
java·spring boot·spring cloud·微服务·分布式事务·大厂面试
希望永不加班32 分钟前
SpringBoot 缓存注解:@Cacheable/@CacheEvict 使用
java·spring boot·spring·缓存·mybatis
KhalilRuan38 分钟前
HybridCLR的底层原理
java·开发语言
源码站~40 分钟前
基于Spring Boot+Vue3的烹饪交流学习系统 设计与实现
java·vue.js·spring boot·后端·mysql·毕业设计·毕设