1.1(学习笔记)Servlet简介及一个简单的实例
一、Servlet简介
Servlet是使用Java语言编写的服务器端程序,可以生产动态的Web界面。
主要运行在服务器端,Servlet可以方便的处理客户端传来的HTTP请求,并返回一个响应。
二、Servlet功能
-读取客户端发来的显示信息。(表单数据)
-读取客户端发来的隐式信息。(请求头信息)
-生成相应结果。
-发送显示信息给客户端。
-发送隐式信息给客户端。(状态码和响应头信息)
三、Tomcat
前面说到了Servlet运行在服务器端,这里主要采用Tomcat。
Tomcat下载地址:http://tomcat.apache.org/。
Tomcat配置方法可参阅网上资料。
四、第一个Servlet实例
4.1创建一个Dynamic Web Project.
4.2在Java Resources->src文件夹下创建一个com.sevlet.firstServlet包
4.3在包下创建一个TestServlet类
4.4创建的TestServlet继承HttpServlet类。
4.5重写servlet()方法。
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 TestServlet extends HttpServlet{
public TestServlet() {}; @Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("sevice");
String url = request.getRequestURI();//获取请求的URL
PrintWriter out = response.getWriter();
out.printf(url);//打印出请求的URL
} }
4.6设置servlet-mapping
找到该项目下WebebContent(或WebRoot)目录下的WEB-INF目录下的web.xml
(如果没有此文件,则新建一个web.xml文件,文件中加上<web-app></web-app>即可)。
在web.xml里面加上:
<servlet> <!-- 设置的一个servlet,将其设置一个名称,并指定这个servlet对应的类-->
<servlet-name>firstServlet</servlet-name>
<servlet-class>com.servlet.firstServlet.TestServlet</servlet-class> <!--将name和class关联-->
</servlet> <servlet-mapping><!-- 建立servlet映射,指定是那一个servlet,并设置地址-->
<servlet-name>firstServlet</servlet-name> <!--将name和url关联-->
<url-pattern>/TestServlet.html</url-pattern> <!--此处作为访问时的地址,可随意指定。但要以‘/’开头-->
</servlet-mapping>
最后浏览器中输入的地址是:Tomcat配置的地址+端口号+项目名称+<url-pattern>中配置的路径,<url-pattern>中的设置随意,配置成abc/def也可以。
但是<url-pattern>中要以‘/’开头。servlet-mapping可以一对多,即一个name对应多个url-pattern,但访问的servlet都是同一个。配置url-pattern时还可能
出现*,*代表输入任意都可以,例如/test/*,那么只需要确保输如前面的/test/即可,*所表示的部分可以输入任意字符。
这样我们在浏览器输入的地址就和TestServle这个类关联起来了,当输入对应地址时可以指行动对应的Servlet。
4.7将该项目添加到Tomcat。

鼠标反键点击Tomcat,选择Add and Remove...

双击项目到Configured,最后点击finish。
4.8在浏览器输入地址
Tomcat中配置的地址+端口+项目名称+<url-pattern>配置的地址
http://localhost:8080/TestServlet/TestServlet.html

控制台输出:

浏览器输入对应地址后,就执行TestServlet类中的打印语句,打印了请求的URL,
同时在控制台输出service。
五、调用Servlet的方式
5.1URL:就是述在地址栏直接输入地址访问。
5.2提交表单调用:使用form表单,将action设置为<servlet-pattern>中配置的地址
5.3超级链接:将<a>标签的href设置为<servlet-pattern>中配置的地址
5.4JavaScript:在按钮上添加onClik调用对应函数,再编写对应的JavaScript函数。
首先我们要在WebContent(WebRoot)目录下创建一个Test.html文件。
最后在浏览器上输入地址时只需要输入:Tomcat配置的地址+端口号+项目名+html文件的名称.html
如果是在WebContest目录下创建了TestPath目录,然后在这个目录中创建一个TestPath.html文件
则需要输入Tomcat配置的地址+端口号+项目名+TestPath文件夹+TestPath.html.
<!DOCTYPE html>
<!-- http://localhost:8080/TestServlet/Test.html -->
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function intoServlet(){
//forms[0]代表第一个表单,注意是forms不要忘了s
var f = document.forms[0];
//设置表单action
f.action = "/TestServlet/TestServlet.html";
//提交表单
f.submit();
}
</script>
</head>
<body>
<!--表单提交调用servlet -->
<!-- http://localhost:8080/TestServlet/TestServlet.html -->
<form name = f1 action = "/TestServlet/TestServlet.html" method = "post">
username:<input type = "text" name = "username"></input>
pwd:<input type = "password" name = "pwd"></input>
<input type = "submit" value = "表单调用">
</form>
<br>
<a href = "/TestServlet/TestServlet.html">超级链接调用</a>
<br>
<!-- 点击按钮调用intoServlet()函数-->
<button onClick = "intoServlet()">javaScript调用</button>
</body>
</html>
Test.html在当前工程的WebContent目录下,所以直接写<url-pattern>中配置的地址即可。
输入地址时输入:http://localhost:8080/项目名/Test.html即可。


我们点击任意一个调用都会弹出和上述内容.
1.1(学习笔记)Servlet简介及一个简单的实例的更多相关文章
- Tomcat学习笔记(二)—— 一个简单的Servlet容器
1.简介:Servlet编程是通过javax.Servlet和javax.servlet.http这两个包的类和接口实现的,其中javax.servlet.Servlet接口至关重要,所有的Servl ...
- maven权威指南学习笔记(三)——一个简单的maven项目
目标: 对构建生命周期 (build lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...
- Java学习笔记 11/15:一个简单的JAVA例子
首先来看一个简单的 Java 程序. 来看下面这个程序,试试看是否看得出它是在做哪些事情! 范例:TestJava.java // TestJava.java,java 的简单范例 public ...
- 【Java学习笔记】如何写一个简单的Web Service
本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程: 1.系统条件: Eclipse Java EE IDE for Web De ...
- Django学习 之 Django安装与一个简单的实例认识
一.Django简介 1.MVC与MTV模型 (1)MVC模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的. ...
- twisted 学习笔记二:创建一个简单TCP客户端
#coding=utf-8 from twisted.internet import reactor,protocol class QuickClient(protocol.Protocol): de ...
- python Django 学习笔记(二)—— 一个简单的网页
1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpR ...
- Python学习笔记23:Django构建一个简单的博客网站(一个)
在说如何下载和安装Django,本节将重点讨论如何使用Django站点. 一 新建project 命令:django-admin startproject mysite # 有的须要输入:django ...
- Tomcat学习笔记(一)一个简单的Web服务器
内容为<深入剖析Tomcat>第一章重点,以及自己的总结,如有描述不清的,可查看原书. 一.HTTP协议: 1.定义:用于服务器与客户端的通讯的协议,允许web服务器和浏览器通过互联网进行 ...
随机推荐
- pip 使用国内源
常用国内的pip源如下:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple ...
- 理解SetCapture、ReleaseCapture、GetCapture(控制了消息发往哪个窗口,是理解消息的关键)
理解SetCapture.ReleaseCapture.GetCapture 正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口.如果调用了SetCapture,之后无论鼠标的位置在哪 ...
- Java并发(8)- 读写锁中的性能之王:StampedLock
在上一篇<你真的懂ReentrantReadWriteLock吗?>中我给大家留了一个引子,一个更高效同时可以避免写饥饿的读写锁---StampedLock.StampedLock实现了不 ...
- 最适合初学者学习的idea教程
https://github.com/judasn/IntelliJ-IDEA-Tutorial
- noip车站分级 拓扑排序
题目传送门 这道题呢 每次输入一段数就把1~n里面没有在这组数里面的数和他们连一波 表示这些数比他们等级低 然后就搞一搞就好了哇 #include<cstdio> #include< ...
- thinkphp 导入微信小程序加密解密库
第三方类库 第三方类库指除了 ThinkPHP 框架.应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty.Zend 等系统的类库等. 前面使用自动加载或 import 方法导入的 ...
- linux下检测可用串口并使用minicom打开(改进版)
之前使用的方式是这样的 http://www.cnblogs.com/zqb-all/p/7073612.html 这两天看到minicom的参数,可以直接使用 -D 指定设备,于是修改成了这样 建立 ...
- Linux-进程间通信(一): 管道
1. 管道局限性: (1) 半双工:(若模拟全双工,可以使用两个管道,即,proc1-->proc2一条管道,proc2-->proc1一条管道) (2) 只能在具有公共祖先的进程之间使用 ...
- GCC编译安装
1. 安装静态库,如果没有安装静态库,后面编译不会通过: yum install glibc-static libstdc++-static -y 2. 下载GCCxxx.tat.gz: wget h ...
- linux系统备份脚本
前言 之前写过<<linux系统简单备份的脚本>>, 最开始一直用着,后来觉得有必要改进下它,不管是从操作方式上还是脚本的工作方式上.之所以这么看重备份,是因为我经历过磁盘损坏 ...