2022.11.09第6次Javaweb上机——实现登录欢迎页面

news2025/1/14 0:54:32

前情回顾

Myeclipse的安装教程_科大云炬的博客-CSDN博客

【JavaWeb第1次上机练习】安装Tomcat并在本地浏览器成功运行第一个Hello world网站_科大云炬的博客-CSDN博客

【第2次JavaWeb上机练习】_科大云炬的博客-CSDN博客 

第3次 JavaWeb上机练习:Servlet基础作业_科大云炬的博客-CSDN博客

第4次JavaWeb上机练习——ServletConfig接口的常用方法_科大云炬的博客-CSDN博客

Javaweb第5次上机练习(获取HTTP的请求参数)_科大云炬的博客-CSDN博客

上机实操

1在src目录新建名为ServletCkde的servlet

功能:从前端form表单接收post请求中的参数,并传递给后端的jsp脚本提示欢迎信息

package com.zr;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletCkde extends HttpServlet {

	
	public ServletCkde() {
		super();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		        //指定浏览器汉字的编码格式
				response.setContentType("text/html;charset=utf-8");
				//指定服务器的汉字编码格式
				request.setCharacterEncoding("utf-8");
				//1.获取表单中提交的名字
				String usernameString =request.getParameter("username");
				String passwordString =request.getParameter("password");
				//2.跳转到注册成功页面,并且把请求响应参数传递过去
				//3.通过request域把获取到的表单数据写入request域中,并通过getRequestDispatcher,
				//指定传递页面,通过forward传递参数出去
				request.setAttribute("name",usernameString);
				request.setAttribute("pwd",passwordString);
				request.getRequestDispatcher("/loginok.jsp").forward(request,response);
	}


	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}

	
	
	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

2在WebRoot目录新建login.html

功能:前端交互页面,接收用户输入的用户名、密码信息

注:在from的action中填写ServletCkde的请求地址(包含项目名+路由地址)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
  	<body>
		<form action="/1109/servlet/ServletCkde" method="post">
			姓名:<input type="text"name="username"><br>
			密码:<input type="text"name="password"><br>
			<input type="submit"name="提交">
		</form>
	</body>
</html>

运行一下页面效果

 

 3在WebRoot目录新建loginok.jsp

功能:从servlet的接收用户名和密码并提示欢迎信息,并在五秒后跳转到index.jsp首页

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  	<body>
		<%
		String strname=(String)request.getAttribute("name");
		String strpwd=(String)request.getAttribute("pwd");
		%>
		<p style="color:red">
		<%
		response.setHeader("refresh","2;ur1=/Webbk/index.jsp");
		%>
		欢迎你:<%=strname%>你已成功登录,请牢记您的密码<%=strpwd%>三秒后跳转到首页</p>
		秒后跳转到首页,如没有跳转你可以点击<ahref="index.jsp">首页〈/a>跳转到首页
	</body>
</html>

 

4在WebRoot目录新建index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    这是首页 <br>
  </body>
</html>

运行结果

 

 

项目源码

https://t.zsxq.com/08FzQOAah

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python工作任务流flow实时框架:prefect

python工作任务流flow实时框架&#xff1a;prefect prefect是一个python的工作任务流调度实时框架&#xff0c;prefect可以快速构建平台系统复杂模块间工作流的监测。当平台系统模块之间的调用链越来越复杂时候&#xff0c;任务执行起来&#xff0c;已经很难盘点清楚程序逻辑和…

删除链表中重复元素的问题

目录 一、删除所有重复元素&#xff0c;使每个元素只出现一次 1.1带头链表解法 1.2 递归方法 二、删除所有重复数字结点&#xff0c;只留下不同数字 2.1带头链表解法 2.2 递归方法 一、删除所有重复元素&#xff0c;使每个元素只出现一次 给定一个已排序的链表的头 hea…

Android App开发实战项目之模仿美图秀秀的抠图工具(附源码 简单易懂 可直接使用)

需要图片集和源码请点赞关注收藏后评论区留言~~~ 所谓抠图神器&#xff0c;就是从一副图片中扣出用户想要的某块区域 一、需求描述 美图的修图功能如此强大&#xff0c;离不开专业的图片加工技术&#xff0c;抠图便是其中重要的一项功能。在App界面底部点击抠图按钮&#xff…

mysql查询:行转列与列转行

目录 1. 行转列 1.1 什么是行转列 1.2 准备工作 1.3 行转列的实现原理 2. 列转行 2.1 什么是列转行 2.2 准备工作 2.3 列转行的实现原理 3. 总结 1. 行转列 1.1 什么是行转列 从表面理解&#xff0c;就是表里存储在行上的数据&#xff0c;在查询结果里展示在列上面。举…

基于stm32单片机随机数自动摇号抽奖系统

资料编号&#xff1a;099 下面是相关功能视频演示&#xff1a; 99-基于stm32单片机随机数自动摇号抽奖系统&#xff08;源码仿真全套资料&#xff09;采用stm32单片机作为主控&#xff0c;LCD1602显示&#xff0c;通过按键来重置生成随机数&#xff0c;类似于摇号和抽奖系统 …

如何实现广义的元交易(Meta Transaction)

在合约内启用元交易是一个强大的补充。要求用户持有ETH来支付Gas一直以来都是而且仍然是新用户进入的最大挑战之一。如果只是简单的点击,谁知道现在会有多少人在使用以太坊? 但有时,解决方案可以在你的合约中加入元交易能力。实现起来可能比你想象的要容易。 什么是元交易?…

(带你分分种学会linux的文件类型和软硬链接)linxu的文件类型(硬链接和软链接详解)

文章目录一&#xff0c;时区部分1&#xff0c;时区状态的展示2,列出所有时区二&#xff0c;linux的文件类型1&#xff0c;列出目录和文件类型2&#xff0c;查看文件类型和状态并且修改用户密码3&#xff0c;文件类型表4&#xff0c;文件的三次修改时间三&#xff0c;linux的软硬…

记录Manjaro Linux安装nvidia显卡驱动失败的经历

我的Manjaro: 2022.11.19的最新系统&#xff0c;通过manjaro-kde-21.3.7-220816-linux515.iso安装&#xff0c;然后通过pacman -Syyu更新的我的设备&#xff1a; CPU intel 12700H&#xff0c;大小核架构&#xff0c;使用系统默认的linux5.15内核会发现启动firefox浏览器的速度…

LeetCode 142. 环形链表 II

题目链接&#xff1a;https://leetcode.cn/problems/linked-list-cycle-ii/ 思路如下&#xff1a; 用两个指针 fast, slow 同时从起点开始走&#xff0c;fast 每次走两步&#xff0c;slow 每次走一步。 如果过程中 fast 走到 null&#xff0c;则说明不存在环。否则当 fast 和…

基于Python3.6配置开发环境

前言 最近在CTF上遇到了瓶颈&#xff0c;本人不会python&#xff0c;导致有些题做不出来。而且python的实用性实在太强了&#xff0c;所以就找了一个培训机构的课程边学习边实践。现将经验总结&#xff0c;分享给大家。 正文 1、配置python安装路径和环境变量 怎么下载pyth…

【Acwing】最短路+二分 通信线路

340. 通信线路 - AcWing题库 题意&#xff1a; 思路&#xff1a; 首先因为贪心&#xff0c;免费升级的肯定是最贵的那几根 因此这道题可以简化为&#xff1a; 给定一张图&#xff0c;求结点1到结点N的所有路径中第K1大的边权的最小值 可以发现我们要求剩下的边中最大值的最…

Qt程序打包成安装包exe

本章介绍把Qt开发的程序打包成安装包的方法&#xff0c;程序打包成install.exe&#xff0c;可双击安装&#xff0c;有默认安装路径&#xff0c;也可以选择安装目录&#xff0c;自动生成桌面快捷方式和开始菜单选项&#xff0c;可以在操作系统–>设置–>应用程序里看到&am…

【响应式布局】使用 flexbox 实现简单响应式布局

场景和需求 屏幕 > 540px&#xff0c;前两个部分展示两列&#xff0c;屏幕 < 540px&#xff0c;前两个部分展示一列屏幕 < 540px&#xff0c;第一部分要反转展示屏幕 > 769px&#xff0c;第三个部分展示三列屏幕 < 769px&#xff0c;第三个部分展示一列 效果图…

java计算机毕业设计自习室管理系统(附源码、数据库)

java计算机毕业设计自习室管理系统&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

java进阶编程思想(七天)

编程核心思想基本框架第一天&#xff08;继承&#xff09;第二天&#xff08;抽象和接口&#xff09;第四天&#xff08;多态、DATA、Object、正则&#xff09;第五天&#xff08;遍历、Set、斗地主游戏案例&#xff09;第六天第七天b站链接:懂不懂我意思明不明白哈哈哈基本框架…

声明式事务@Transactional

事务 事务管理在 Web 系统开发中是非常重要的&#xff0c;可以在一定程度上保证数据的一致性。Spring提供了非常优秀的事务管理机制&#xff0c;主要分为&#xff1a; 编程式事务声明式事务 编程式事物 在代码中手动的管理事务的提交、回滚等操作&#xff0c;代码侵入性比较…

【毕业设计】66-基于物联网技术的智能家居系统的研究(仿真工程、原理图、低重复率设计文档、答辩PPT)

【毕业设计】66-基于物联网技术的智能家居系统的研究&#xff08;仿真工程、原理图、低重复率设计文档、答辩PPT&#xff09; 文章目录【毕业设计】66-基于物联网技术的智能家居系统的研究&#xff08;仿真工程、原理图、低重复率设计文档、答辩PPT&#xff09;资料下载链接任务…

代码随想录算法训练营第58、59天 | 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II 42. 接雨水

代码随想录系列文章目录 单调栈篇 文章目录代码随想录系列文章目录739. 每日温度496.下一个更大元素 I503.下一个更大元素II42.接雨水双指针解法dp解法单调栈解法单调栈具体的处理逻辑739. 每日温度 题目链接 暴力解法&#xff0c;双指针&#xff0c;超时, 因为数据长度是100…

【考研复试】计算机专业考研复试英语常见问题一(家庭/家乡/学校篇)

相关链接&#xff1a; 【考研复试】计算机专业考研复试英语常见问题一&#xff08;家庭/家乡/学校篇&#xff09;【考研复试】计算机专业考研复试英语常见问题二&#xff08;研究方向/前沿技术/本科毕设篇&#xff09;【考研复试】计算机专业考研复试英语常见问题三&#xff0…

Spring Boot+Vue3前后端分离实战wiki知识库系统之用户管理单点登录

用户表设计与代码生成 用户表设计 生成持久层代码 同样是在gennerator.xml中添加并执行&#xff1a; 完成用户表基本增删查改功能 首先我们应该改造controller 接着是service,service的查询条件要根据loginname来查找&#xff1a; 接着修改三个实体&#xff1a; 注…