Java后台开发Servlet学习(一)

Wesley13
• 阅读 625

一、Servlet介绍

  开始接触一个新的东西,首先要知道它是干什么的吧。Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。我自己的理解就是对客户端或者浏览器发送的请求进行处理,作出相应的响应。其过程如下:

  1. 客户端发送请求至服务器端;

  2. 服务器将请求信息发送至 Servlet;

  3. Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;

  4. 服务器将响应返回给客户端。

二、环境配置

  需要准备的:

  1.eclipse

  2.MySQL

  3.Tomcat

  具体怎么配置不说了,网上教程很多

三、创建一个servlet

  首先创建一个Dynamic Web Project项目

  Java后台开发Servlet学习(一)

  工程名

  Java后台开发Servlet学习(一)

  下面都是直接下一步,到最后一步的时候记得勾上这个

  Java后台开发Servlet学习(一)

  点击完成,项目就创建完毕了,先来看看项目的结构

  Java后台开发Servlet学习(一)

  首先是src文件夹/包,里面是各种源代码,servlet类也是在这里面创建,然后是Libraries,是你包含的各种库/包(jar),再然后是web.xml,这个也就是之前创建项目勾选自动创建的,这个是项目的配置文件,servlet写出来也需要用这个文件配置之后才能访问到,下面我们来驾驶创建第一个servlet吧

  右键src新建->servlet

  Java后台开发Servlet学习(一)

  Java后台开发Servlet学习(一)

  Java package,也就是你想把这个servlet类放在哪个包里面

  class name ,servlet类名

  Java后台开发Servlet学习(一)

  一直下一步,在最后勾选上doPost和doGet

  Java后台开发Servlet学习(一)

  点击完成

  我们需要做的就是将doPost、doGet实现,两者的差别我也不清楚在哪,目前的理解就是两种不同的传递信息的方式

  我们先来看看doGet

  Java后台开发Servlet学习(一)

  首先是类型,void型,也就是没有返回值

  然后是参数,参数有两个,request和response,也就是请求和响应,请求中包含客户端传入的信息,比如客户端需要登录或者注册时就会将账号密码写入request中,然后发送给服务端,服务端或者说servlet可以通过request.getParameter(String arg0)来获取其中的信息,传入的参数是变量名,返回的是变量的值(string格式),response则是对请求的响应,目前我了解到的就只有getWriter函数,这个函数可以得到一个PrintWriter对象,该对象可以向客户端/浏览器发送文本字符,下面我们先简单的做一个HelloWorld的输出

  首先用response获取PrintWriter对象

PrintWriter out = response.getWriter();

  然后用out进行输出

out.println("HelloServlet!");

  接下来我们去配置xml文件

<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
     <!-- 类名 -->
    <servlet-name>HelloWorld</servlet-name>
    <!-- 所在的包 -->
    <servlet-class>com.test.demo.HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <!-- 访问的网址 -->
    <url-pattern>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>

  要注意的就是类名 所在的包 访问的路径几个地方

  接下来就可以运行看看结果了

  Java后台开发Servlet学习(一)

  右键点击项目名,运行方式->Run on Server

Java后台开发Servlet学习(一) 阿嘞,这和说好的不太一样,其实是正常的,因为输入的路径根本就不对嘛,在后面加上servlet/HelloWorld就可以啦

Java后台开发Servlet学习(一)

路径是根据我们xml中配置的情况决定的,具体的我也不太懂2333,但是可以看这个

Java后台开发Servlet学习(一)

这个也就是在后面接上什么调用什么类,所以我们在后面加上/HelloWorld也是可以的

Java后台开发Servlet学习(一)

嗯,差不多就是这些了,下一篇写连接MySQL吧

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
java ee后台运行原理(Servlet)
剖析Servlet:(1)概述:  Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的web页面。它担当Web浏览器或其他http客户程序发出请求、与http服务器上的数据库或应用程序之间交互的中间层。  Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java服务器中
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Servlet知识小结
什么是Servlet?Servlet是运行于web服务器中的一个特殊java应用小程序,能够接受来自每个客户端的请求并给予响应,双方遵循http协议。Servlet是做什么的?1能够接收客户端的HTTP的请求,并给予不同的响应,即动态响应。2能做一些需要动态显示的Web资源内容。可自行查看JAVA的API了解Servlet、Gene
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这