首页 > 编程语言 >简单java servlet的登录脚本,部署到docker

简单java servlet的登录脚本,部署到docker

时间:2023-01-06 16:11:58浏览次数:145  
标签:userName java String request session jsp userPwd docker servlet

先打算参考这篇文章

Simple login page example using jsp servlet - Candidjava

内含war文件和zip文件。但是tomcat上该war文件总是报错。

于是又参考这篇

(46条消息) Java学习day3——Javaweb登录页面设计(1)(含JSP代码)_苏三有春的博客-CSDN博客_web登录界面设计代码

复制代码,略加修改,没有使用war,使用纯JSP.

 写了3个jsp

 loginSuccess.jsp
<%@ page language="java" contentType="text/html; charset=UTF=8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>loginSuccess</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");//解决提交方式post时,中文乱码问题
String userName = null;
String userPwd = null;
if(request.getParameter("userName")!=null){
userName=request.getParameter("userName");
userPwd = request.getParameter("password");
}
if(userName.equals("admin")&&userPwd.equals("123")){
//当用户名和密码正确时
request.setAttribute("mess", "登陆成功");
session.setAttribute("userName", userName);
session.setAttribute("userPwd",userPwd);
//进入content.jsp页面
response.sendRedirect("content.jsp");
}else{
//当用户名或密码不正确时
request.setAttribute("mess", "用户名或密码错误");
request.getRequestDispatcher("index.jsp").forward(request, respo
nse);
}
%>
<h3>userName:<%= userName %></h3>
<h3>password:<%= request.getParameter("password") %></h3>
</body>
</html>

 

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<%
String mess = null;
if(request.getAttribute("mess")!=null){
mess = (String)request.getAttribute("mess");
}
%>
<h3>input admin and 123</h3>
<form method="post" action="loginSuccess.jsp">
<label>用户名:</label>
<input type="text" name="userName" ><br>
<label>密码:</label>
<input type="password" name="password" ><br>
<input type="submit" value="登录" >
<p sytle="color: red"><%= mess != null ? mess : "" %></p>
</form>

</body>
</html>

 

content.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index page, login success</title>
</head>
<body>
<%
String userName = (String)session.getAttribute("userName");
String userPwd = (String)session.getAttribute("userPwd");
session.setMaxInactiveInterval(3*60);//设置session失效时间
%>
<h1>恭喜你登录成功</h1>
<h1>欢迎合法用户: <%= userName != null ? userName : ""%></h1>


<p>sessionId: <%= session.getId() %></p>

</body>
</html>

 

然后打包成xxx.tar.gz文件

再制作Dockerfile


FROM tomcat

LABEL maintainer="[email protected]"

ADD root.tar.gz /usr/local/tomcat/webapps/

EXPOSE 8080

CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

 

再参考Deploying Your First Web App to Tomcat on Docker | Cprime

制作和运行docker

标签:userName,java,String,request,session,jsp,userPwd,docker,servlet
From: https://www.cnblogs.com/jjkv3/p/17030709.html

相关文章

  • JavaScript
    JavaScript1.基本语法//1.定义变量变量类型变量名=变量值;varnum=1;alert(num)//2.条件控制varscore=81;if(score>60&&score<70){alert("......
  • Docker版思源笔记使用Dark+主题,无法显示“霞鹜文楷等宽”字体的解决方式
    在Docker版思源笔记中使用Dark+主题时,编辑器的字体与Dark+中主题预览的字体不一致。此问题咨询了思源笔记官方得到是回复是“官方暂时不考虑Docker版的编辑器暂不考虑......
  • Java中的POJO与JavaBean / Java Bean与POJO的区别与联系
    POJO(PlainOrdinaryJavaObject)即普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO。有一些private的参数作为对象的属性,然后针对每一个参数定义get和set......
  • Java final关键字修饰对象
    结论:final修饰对象,对象的内容可变,引用不可变。final应用于类、方法和变量、对象时意义是不同的,但本质是一样的,都表示不可改变。但是修饰对象时要注意:因为对象是引用类......
  • JAVA中的定时器使用
    1、注解作用@Configuration//主要用于标记配置类,兼备Component的效果。@EnableScheduling//开启定时任务@Scheduled(cron="0/5****?")//添加定时......
  • .Net Core 用自动生成Dockerfile的坑
    简介  之前采用shell脚本+dockerfile的方式构建项目,后来发现Docker在17.05版本之后有多阶段构建方式,该文主要记录了netcore采用dockerfile构建遇到的坑。原先的方式......
  • .NETCore Docker实现容器化与私有镜像仓库管理
    一、Docker介绍Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖。相......
  • docker安装redis教程
    安装docker参考博主另一篇文章 1、下载redisdockerpullredis//使用镜像加速下载redisdockerpullregistry.docker-cn.com/library/redis两种方法均可以2、下载完成后查......
  • javashop配置微信支付
    1、登录后台->找到设置->配送和支付->支付方式2、此处需要配置:卖家微信账户id、支付appid、微信安全校验码、密钥1)卖家微信账户id:就是pay.weixin.qq.com,微信商户中心里面的......
  • java使用Post方式发送https请求的方法,直接可以用
                  踩过无数坑之后,成功的方案,主要在设置Content-type application/x-www-form-urlencoded这里,之前没设置,一直数据不通过,不过好了现在OK了  ......