一. HTTP协议

  https://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html

二. tomcat---------->web服务器

1. tomcat是一款提供web服务的软件,其用处为:

  (1)提供访问静态资源

  (2)给用户提供了自定义业务逻辑的接口

2. 什么是web服务器?

  遵循http协议,可以提供访问静态资源和动态资源的软件称为web'服务器()

浏览器请求服务器的流程图

 3. tomcat软件的目录结构

 startup.bat   双击启动

4. tomcat在eclipse发布

第一步:点击eclipse上的window--->Preferences--->Server--->runtime Enviroments---->Add,得到如下图

注意,此处可能会没有Server选项,解决办法-------->https://www.cnblogs.com/jj1106/p/11599239.html

选择自己的tomcat版本

点击apply and  close即可完成发布

点击eclipse右上角的open Perspective,并在下拉框中选择java EE,如下图

注意,此处可能没有java EE的选项(没安装java ee的插件),解决办法:https://www.cnblogs.com/jj1106/p/11600948.html

这时候,下面就会出现Servers选项(若没有的话windows --->  show view - >  servers),如下图

 5. 创建web项目

(1)new   --->  dynamic web project -- >

(2)将项目部署在tomcat中

(2)部署完项目后就启动项目

访问此web服务器:http://localhost:8080/day12/demo1.html

即可得到demo1.html中的文本内容

三. 注册案例

1. 前端注册页面(写在WebCont中):

访问时:localhost:8080/项目名/reister.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
</head>
<body>
<h1>xxx注册中心</h1>
<form action="Register" method="post">
姓名:<input type="text" name="username" /></br></br>
昵称:<input type="text" name="nickname" /></br></br>
密码:<input type="password" name="password" /></br></br>
手机号:<input type="text" name="phonenumber" /></br></br>
邮箱:<input type="text" name="mail" /></br></br>
<input type="submit" value="注册"/>
</form>>
</body>
</html>

2. 后台部分:

(1)admin

Register

创建的时候是选择servlet

public class Register extends HttpServlet {
private static final long serialVersionUID = 1L; UserService userService = new UserServiceImpl();
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
try {
// 获取前台发送的参数
String username = request.getParameter("username");
String nickname = request.getParameter("nickname");
String password = request.getParameter("password");
String phonenumber = request.getParameter("phonenumber");
String mail = request.getParameter("mail");
System.out.println(username);
// User对象去接受这些参数
User user = new User(username, nickname, password, phonenumber, mail);
boolean b = userService.register(user);
if(b) {
response.sendRedirect("/day12/success.html");
}else {
response.sendRedirect("/day12/register.html");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

(2)service

UserService接口

public interface UserService {

    // 注册
public boolean register(User user) throws Exception;
}

UserService接口实现类(UserServiceImpl)

public class UserServiceImpl implements UserService{

    /**
* 注册实现
*/
@Override
public boolean register(User user) throws Exception {
boolean flag = false;
UserDao userDao = new UserDaoImpl();
int i = userDao.insertUserToDb(user);
if(i>0) {
flag = true;
}
return flag;
}
}

(3)pojo

User(根据从前端接收的数据来确定属性)

public class User {
private String username;
private String nickname;
private String password;
private String phonenumber;
private String email;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhonenumber() {
return phonenumber;
}
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public User(String username, String nickname, String password, String phonenumber, String email) {
super();
this.username = username;
this.nickname = nickname;
this.password = password;
this.phonenumber = phonenumber;
this.email = email;
}
@Override
public String toString() {
return "User [username=" + username + ", nickname=" + nickname + ", password=" + password + ", phonenumber="
+ phonenumber + ", email=" + email + "]";
} }

(4)dao

此处需要导一些jar包,如下(不需要build path)

UserDao接口

public interface UserDao {

    /**
* 往数据库中添加用户
* @param user
* @return
*/
public int insertUserToDb(User user) throws Exception;
}

UserDao实现类

public class UserDaoImpl implements UserDao{
static QueryRunner runner;
static {
// 获取数据库池对象
ComboPooledDataSource dataSource = new ComboPooledDataSource();
runner = new QueryRunner(dataSource);
}
@Override
public int insertUserToDb(User user) { int in = 0;
try {
String sql = "insert into user values(null,?,?,?,?,?)";
in = runner.update(sql,user.getUsername(),user.getNickname(),user.getPassword(),user.getPhonenumber(),user.getEmail());
} catch (Exception e) {
in = -1;
}
return in;
}
}

零基础学习java------33---------http协议,tomcat(其如何在eclipse上发布),注册案例的更多相关文章

  1. 音乐出身的妹纸,零基础学习JAVA靠谱么

    问:表示音乐出身的妹纸一枚  某一天突然觉得身边认识的是一群程序员   突然想 要不要也去试试... 众好友都觉得我该去做个老师,可是我怕我会误人子弟,祸害祖国下一代..... 要不要 要不要 学Ja ...

  2. 总结了零基础学习Java编程语言的几个基础知识要点

    很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.本文总结了零基础学习Java编程语言的几个基础知识要点. 1先了解什么是Java的四个方面   初学者先弄清这 ...

  3. Android零基础入门第33节:Android事件处理概述

    原文:Android零基础入门第33节:Android事件处理概述 通过对Android基本组件的学习,也有接触少部分Android的事件处理,比如按钮的点击事件.选框的状态切换事件. 一.Andro ...

  4. Salesforce 集成篇零基础学习(一)Connected App

    本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...

  5. 【零基础学习iOS开发】【转载】

    原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开 ...

  6. 李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇

    从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂 ...

  7. 零基础学习hadoop到上手工作线路指导

    零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了.整个过程整理一下,给大家参考,欢迎讨论,共同学习. ...

  8. 【零基础学习iOS开发】【01-前言】01-开篇

    本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过I ...

  9. 零基础学习iOS开发

    零基础学习iOS开发不管你是否涉足过IT领域,只要你对iOS开发感兴趣,都可以阅读此专题. [零基础学习iOS开发][02-C语言]11-函数的声明和定义 摘要: 在上一讲中,简单介绍了函数的定义和使 ...

随机推荐

  1. vsftpd 编译安装 及 隐藏版本号

    环境:Redhat Enterprise Linux AS 4.0 update2(i386) 不提示,均表示以root权限执行. [注:]//为注释符,如"// 建立MySQL组" ...

  2. eclipse配置Tomcat和Tomcat出现无效端口解决办法

    一.eclipse配置Tomcat 1. 按图选择window-preferences 2在server处选择runtime environment . 3.点击右侧add,选择自己的Tomcat版本 ...

  3. 用STM32定时器中断产生PWM控制步进电机

    控制步进电机可以使用PWM.定时器中断.延时,这里用的就是定时器中断来让它转动. 一.硬件部分1.使用的硬件板子用的是正点原子的STM32F103 mini板,驱动器是DM420(DM420驱动器资料 ...

  4. 基于eNSP的NAT/NAPT协议仿真实践

    一. 基本原理 eNSP(Enterprise Network Simulation Platform)是一款由华为提供的.可扩展的.图形化 操作的网络仿真工具平台,主要对企业网络路由器.交换机进行软 ...

  5. makefile简单学习(一)

    第一层 显式规则 目标:依赖 [tab] 指令 伪目标:.PHONY: 递归规则 hello : hello.o gcc hello.o -o hello hello.o : hello.s gcc ...

  6. mysql 免密码登录

    mysql 8免密码登录 UPDATE mysql.user SET authentication_string=null WHERE User='root'; FLUSH PRIVILEGES; e ...

  7. rz安装

    rpm -ivh http://www.rpmfind.net/linux/centos/6.10/os/x86_64/Packages/lrzsz-0.12.20-27.1.el6.x86_64.r ...

  8. 【JAVA】编程(2)---时间管理

    作业要求: 定义一个名为 MyTime 的类,其中私有属性包括天数,时,分,秒:定义一个可以初始化时,分,秒的构造方法,并对初始化数值加以限定,以防出现bug:定义一个方法,可以把第几天,时,分,秒打 ...

  9. Flink 实践教程:入门(6):读取 PG 数据写入 ClickHouse

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  10. Part 28 AngularJS default route

    At the moment the problem is that, if you try to navigate to a route that is not configured, you wil ...