Java遇见HTML的6篇文章技术较老只是在熟悉java基础知识和了解mvc模型思想

servlet的应用

servlet可以理解为就是一个jsp,实现servlet有三步:

1、在web.xml中注册servlet,

2、在src目录下创建servlet类继承HttpServlet类,重写doGet和doPost方法,

3、然后在jsp中使用表单或者超链接等方式跳转到创建的servlet类中。

用servlet实现一个简单的功能,在界面上输入注册信息,提交后显示注册的信息。

第一步:

创建学生类实体类,与界面上要输入的字段信息对应,注意日期类型为Date,是否签协议为Boolean类型,该类放到src目录的com.zhidaoauto.model包下。

package com.zhidaoauto.model;

import java.util.Date;

public class Users {

private String UserName;//用户名

private String Password;//密码

private String Email;//邮箱

private String Sex;//性别

private Date Birthday;//日期

private String Favorite;//爱好

private String introduce;//介绍

private Boolean flag;//是否接受协议

public Users(){

}

public String getUserName() {

return UserName;

}

public void setUserName(String userName) {

UserName = userName;

}

public String getPassword() {

return Password;

}

public void setPassword(String password) {

Password = password;

}

public String getEmail() {

return Email;

}

public void setEmail(String email) {

Email = email;

}

public String getSex() {

return Sex;

}

public void setSex(String sex) {

Sex = sex;

}

public Date getBirthday() {

return Birthday;

}

public void setBirthday(Date birthday) {

Birthday = birthday;

}

public String getFavorite() {

return Favorite;

}

public void setFavorite(String favorite) {

Favorite = favorite;

}

public String getIntroduce() {

return introduce;

}

public void setIntroduce(String introduce) {

this.introduce = introduce;

}

public Boolean getFlag() {

return flag;

}

public void setFlag(Boolean flag) {

this.flag = flag;

}

@Override

public String toString() {

return "Users{" +

"UserName='" + UserName + '\'' +

", Password='" + Password + '\'' +

", Email='" + Email + '\'' +

", Sex='" + Sex + '\'' +

", Birthday=" + Birthday +

", Favorite='" + Favorite + '\'' +

", introduce='" + introduce + '\'' +

", flag=" + flag +

'}';

}

}

第二步:创建reg.jsp输入注册信息页面,放到web的根目录下

关注代码中的注释的点

Created by IntelliJ IDEA.

User: Administrator

Date: 2020/4/26

Time: 16:16

To change this template use File | Settings | File Templates.

--%>

注册页面

用户名:
密码:
确认密码:
电子邮箱:
性别:

出生日期:
爱好:

NBA

音乐

电影

上网

自我介绍:
接受协议: 是否接受协议

第三步:写servlet类

注意是在src下创建servlet包创建userservlet类,该类继承HttpServlet类。

package servlet;

import com.zhidaoauto.model.Users;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class userservlet extends HttpServlet {

// 按Alt+Insert快捷键,重写doGet和doPost方法

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

// doGet方法中调用doPost方法,要不然通过url链接不会走到post方法中

doPost(req,resp);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

// 设置编码为utf-8,能显示中文

req.setCharacterEncoding("utf-8");

//定义users类的对象,把获取到的参数值都赋值给该类中的属性

Users users=new Users();

users.setUserName(req.getParameter("UserName"));//用户名赋值

users.setPassword(req.getParameter("Password"));//密码赋值

users.setEmail(req.getParameter("Email"));//邮箱赋值

users.setSex(req.getParameter("Sex"));//性别赋值

//出生日期赋值

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

try {

Date date=sdf.parse(req.getParameter("Birthday"));

users.setBirthday(date);

} catch (ParseException e) {

e.printStackTrace();

}

//爱好赋值,是checkbox类型,用string[]获取数值

String[] favorite=req.getParameterValues("Favorite");

StringBuilder favorites=new StringBuilder();

if (favorite!=null){

for (String s:favorite){

favorites.append(s+",");

}

}

//去掉最后一个逗号

favorites.replace(favorites.length()-1,favorites.length()," ");

users.setFavorite(favorites.toString());

//自我介绍赋值

users.setIntroduce(req.getParameter("introduce"));

//是否签协议赋值,定义flag标签,如果勾选了就代表有值设置为true,没勾选就为false

boolean flag=false;

String[] flags=req.getParameterValues("flag");

if (flags!=null){

flag=true;

}else {

flag=false;

}

users.setFlag(flag);

System.out.println(users.toString());

//把注册成功的用户对象存储到session中,getusers要用到再users.jsp中创建userbean时,跟id一致,这样才能在users.jsp中获取参数信息。

req.getSession().setAttribute("getusers",users);

//内部转发到users.jsp页面中

req.getRequestDispatcher("../users.jsp").forward(req,resp);

}

}

第四步:创建users.jsp

在界面上显示注册的用户信息

特别注意创建useBean时,id要和userservlet类中设置session是的名称一致,就是getusers

使用jsp动作获取参数值

Created by IntelliJ IDEA.

User: Administrator

Date: 2020/4/26

Time: 16:17

To change this template use File | Settings | File Templates.

--%>

展示用户信息

用户名:  
密码:  
电子邮箱:  
性别:  
出生日期:  
爱好:  
自我介绍:  
接受协议:  

第五步:在界面上查看结果

image.png

image.png

servlet路径跳转问题

总共有3处地方路径需要关注。

1、jsp中超链接href路径和表单中action跳转路径

// 获取当前项目路径

String path=request.getContextPath();

%>

使用相对路径访问servlet

使用绝对路径访问servlet

2、web.xml中url-pattern的路径

Faces Servlet

servlet.HelloServlet

1

Faces Servlet

/servlet/HelloServlet

3、servlet类中重定向和内部跳转的路径

// 使用内部转发跳转到result.jsp页面,斜杠代表当前根目录,如果不加就找不到result.jsp文件

req.getRequestDispatcher("/result.jsp").forward(req,resp);

// 使用重定向跳转到result.jsp页面

resp.sendRedirect("/result.jsp");

//如果jsp文件放到文件夹下,可以返回到上层目录再到文件夹下找该jsp文件

req.getRequestDispatcher("../testservleturl/testservletusr.jsp").forward(req,resp);

image.png

image.png

一个html页面上显示dopost,Java遇见HTML-servlet(一)相关推荐

  1. 一个html页面上显示dopost,java-无法使HTMLUnit跟随页面上使用__doPostBack...

    我正在尝试从单击一次链接的使用__doPostBack函数的ASP页中抓取数据.当我单击()具有HTMLUnit的链接时,它将返回我从其开始的页面.我需要怎么做才能完成回发并返回下一页? 码: imp ...

  2. [html] 如何在页面上显示Emoji表情?

    [html] 如何在页面上显示Emoji表情? 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码. ...

  3. python网页提交表单_Html表单——使用python在web页面上显示用户提交的数据

    这个例子展示了如何使用Python完成同样的事情--在web页面上显示提交的数据. 环境配置: win10.Anaconda3 问题: 1.在安装Anaconda3的时候出现了很多问题,经建议安装旧版 ...

  4. php怎么显示gif图片,如何让伪进度条在页面上显示成gif图像

    在工作中为了方便,我们需要加上一些效果,这篇文章就和大家讲讲伪进度条如何在页面上显示gif图像,感兴趣的朋友可以参考一下,希望可以帮助到你. 最近做的一个项目中,点击某个操作后,由于后台做的事情比较多 ...

  5. ASP.NET 用 FlexPaper 在页面上显示 PDF 文件

    必要条件 演示 ASP.NET 用 FlexPaper 在页面上显示 PDF 文件 软件环境 解决方案结构 简单显示 SWF 文件 上传并显示 PDF 文件 常见问题 参考资料 其实,虽说是显示 PD ...

  6. jsp 图片上传到oracle,jsp上传图片到数据库(oracle),并能在页面上显示解决办法

    jsp上传图片到数据库(oracle),并能在页面上显示解决办法 jsp上传图片到数据库(oracle),并能在页面上显示解决办法 日期:2014-05-18 浏览次数:20341 次 jsp上传图片 ...

  7. php 导出csv文件bom,php 读取 csv 文件后, uft8bom 导致在页面上显示出现问题的解决方法...

    php 读取 csv 文件后, uft8bom 导致在页面上显示出现问题的解决方法 date.csv: "ID""NAME""EMAIL" ...

  8. csv乱码 ftp_php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法

    date.csv:"ID" "NAME" "EMAIL" "1" "小明" "xm@163 ...

  9. html输出计算结果到文本框,在文本框中输入两个操作数和选择运算符后,在页面上显示输出结果...

    需求说明: 在文本框中输入两个操作数和选择运算符后,在页面上显示输出结果 实现思路: 单击"计算"按钮后,删除两个文本框左右两边的空格,删除空格后,判断输入框中是否都输入了内容,只 ...

最新文章

  1. 基于YOLOV5的数据集标注&训练,Windows/Linux/Jetson Nano多平台部署全流程
  2. 红黑树原件 及其插入、删除(附图说明)
  3. 扩展、统计线性化和无迹RTS平滑器
  4. 明星分手文案火了!为了营销 你们这些商家也是很努力啊...
  5. centos 基础命令第一节
  6. Spring Roo 之 Mysql 连接
  7. 用 Open Live Writer 来写 cnblog.com 博客
  8. flink的测试sql怎么测试呢,不能每次都使用jar测试吧,那么sqk-client就来了
  9. K33 不是平面图_怎么用 PS 做景观平面图?
  10. 详解51系列单片机引脚及功能
  11. 关于 np.arccos/arcsin 计算之前需要必须要 np.clip 的那件小事儿
  12. 三种时空模式下的全脑功能组织
  13. java高级用法之:绑定CPU的线程Thread-Affinity
  14. Kafka:Topic概念与API介绍
  15. 天津理工大学计算机项目管理实验四,天津理工大学软件工程实验报告4.docx
  16. python如何控制鼠标键盘_Python如何控制鼠标键盘
  17. 科研用matlab还是python_科的解释|科的意思|汉典“科”字的基本解释
  18. 【C/C++】超大遥感影像读取和存储 GDAL
  19. 解决IE浏览器没有网络的情况
  20. 细说字体 Sans Serif 与 Serif

热门文章

  1. 2017.10.11 灾难 失败总结
  2. 2017.9.9 堵塞的交通 思考记录
  3. C开源hash代码uthash的用法总结(2)
  4. 如何写出一个较好的快速排序程序
  5. 不同网站不同网卡_弄清高端网站建设的独特不同之处才能做好网站
  6. 字典和键值对换输出_Python知识小结—字典
  7. 小孔成像总结_中考物理解题技巧+方法大全, 总结非常到位!
  8. mini2440_x35 使用minicom进行连接,传送文件
  9. MySQL双向主从复制
  10. 刷题刷题 ——网易CPP