servlet01 servlet简介、服务器简介、servlet开发步骤
目录
1WEB应用的演变
1.1 单机到到网络
1.2 CS到BS
1.2.1 CS: Client Server 客户端服务器程序 需要单独开发单独安装
1.2.2 BS: Browser Server 用浏览器充当客户端 不许要单独开发单独安装
2Servlet 简介
2.1 服务器如何保存及返回一个网页?
2.1.1 静态网页
无论谁去看,效果都是一样的;
例如:新闻,百科;
服务器保存HTML并且返回这个THML
2.1.2 动态网页
每个人看到的结果不一样;
例如: 淘宝,博客;
服务器保存一个对象,用它给动态用户拼HTML,在java中这个对象就是Servlet
2.2 Servlet特征
存储在服务器上
可以动态拼接资源(网页/图片等)
> 动态拼资源的术语:处理HTTP协议
要满足sun的规范
2.3 什么是Servlet
是sun推出的用于在服务器端处理HTTP协议的组件
> 组件:满足规范的对象
3服务器
3.1 名词解析
Java服务器
Web服务器
JavaWeb服务器
Servlet容器
> 都是指的服务器
3.2 本质
是一个可以运行项目的软件(需要装到硬件上(服务器硬件或者电脑))
服务器和浏览器是对应的,是平级的
3.3 举例
tomcat (Apache开源)
JBOSS
WebLogic
WebSphere
4tomcat
4.1 单独使用 (软件上线的时候使用)
4.1.1 下载及安装
从Apache官网
下载后解压缩即可
具体步骤见本人博客(有昕哪里有安装文档)
4.1.2 配置JAVA_HOME(一般在安装JDK的时候就已经配置好了)
4.1.3 启动tomcat (不能重复启动)
Linux
> 打开 /tomcat/bin 在此文件夹打开终端输入 chmod +x *sh <<-- 添加权限
> 打开 /tomcat/bin 在此文件夹打开终端输入 ./startup.sh <<-- 打开
Windows
> 打开 /tomcat/bin 双击 startup.bat
>> 注意:开启后会弹出一个Java的黑窗口,不要关闭,否则访问 Tomcat 时会失败
4.1.4 访问tomcat
浏览器输入 http://localhost:8080 (lice讲过一点点)
回车后看到一只猫就代表成功了
4.1.5 关闭tomcat
Linux
> 打开 /tomcat/bin 在此文件夹打开终端输入 ./shutdown.sh
Windows
> 打开 /tomcat/bin 双击 shutdown.bat
4.2 通过eclipse调用tomcat (开发时的使用方式)
简略步骤见本人博客(找 有昕 拿配置文档)
任何原因导致需要重新配置的前提:
在eclipse左侧选择Servers项目,删除它
点击window -> preference -> servers -> runtime... -> 在窗口的右侧移除当前的版本
5Servlet 开发步骤
5.1 创建web项目
web项目必须具备标准的web目录
> /webapp/web-inf文件夹里面 必须有 web.xml 文件
红框里面的内容必须有
没有咋整
右键单击红框处,再单击 gernerate... 即可
5.2 导入jar包
5.2.1 通过maven搜jar包 <<-- 先去搞定maven配置
> 搜索 servlet-api 选择 javax.servlet
> maven搜包是从maven的服务器中搜索包,然后下载
> 搜不到可能是因为网络原因
> 利用阿里云的镜像服务器区访问maven服务器 -->> 找文档,查资料
5.2.2 使用tomcat自带的包
选择web项目,鼠标右键,点击 properties
弹出框中选择 targeted runtimes
右侧勾选 Apache tomcat
Apply -> OK
5.3 编写 Servlet
5.3.1 创建 Servlet
创建一个包
创建一个类,继承于 HttpServlet
重写父类中的service方法
> 实现Servlet接口是sun的规范
5.4 配置 Servlet
5.4.1 声明 Servlet 类, 取一个别名
5.4.2 通过别名引用 Servlet, 取一个路径(网名)
5.5 部署(拷贝)
在 Servers 下选择 tomcat
右键点击
> Add and remove
弹出框中将被部署项目从左侧移动到右侧
启动 tomcat
修改代码后要重新部署并启动 tomcat
> 直接publish即可
5.6 浏览器访问
http://localhost:8080/项目名/网名
5.7 实例:创建一个web项目 -->> 用户访问时返回当前日期

1 package web; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.text.SimpleDateFormat; 6 import java.util.Date; 7 8 import javax.servlet.ServletException; 9 import javax.servlet.http.HttpServlet; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 13 public class DateServlet extends HttpServlet { 14 15 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 16 Date date = new Date(); 17 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 18 String now = sdf.format(date); 19 20 resp.setContentType("text/html;charset=utf-8"); 21 PrintWriter out = resp.getWriter(); 22 out.println("<p>三少,你好;现在的日期是:"+now+"</p>"); 23 out.close(); 24 } 25 26 }
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 3 <display-name>dateServlet</display-name> 4 <welcome-file-list> 5 <welcome-file>index.html</welcome-file> 6 <welcome-file>index.htm</welcome-file> 7 <welcome-file>index.jsp</welcome-file> 8 <welcome-file>default.html</welcome-file> 9 <welcome-file>default.htm</welcome-file> 10 <welcome-file>default.jsp</welcome-file> 11 </welcome-file-list> 12 13 <servlet> 14 <servlet-name>date</servlet-name> 15 <servlet-class>web.DateServlet</servlet-class> 16 </servlet> 17 <servlet-mapping> 18 <servlet-name>date</servlet-name> 19 <url-pattern>/date</url-pattern> 20 </servlet-mapping> 21 </web-app>
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 2 <modelVersion>4.0.0</modelVersion> 3 <groupId>cn.xiangxu</groupId> 4 <artifactId>testServlet</artifactId> 5 <version>0.0.1-SNAPSHOT</version> 6 <packaging>war</packaging> 7 <dependencies> 8 <dependency> 9 <groupId>javax.servlet</groupId> 10 <artifactId>servlet-api</artifactId> 11 <version>2.5</version> 12 </dependency> 13 </dependencies> 14 </project>

6 程序执行过程即报错

浙公网安备 33010602011771号