Servlet
Servlet,服务器端的小程序,它是相对于Applet而言的,Applet是客户端小程序。
Servlet,是接受来自网络的请求(form表单,以及其他的请求),并对不同请求作出不同的响应
Servlet,是基于Http协议的,是运行在web服务器中的程序。这里要提出一个容器的概念。
servlet是运行在web容器中,在后面会详细地讲解,这个web容器可以控制Servlet对象的生命周期,控制请求由Servlet对象处理。
web服务器,这里的服务器不是硬件概念,而是软件,常用的web服务器有 Tomcat,Jboss等,我们所用到的Tomcat是一个开源的服务器,Tomcat是一个用java语言编写的web服务器,所以需要有相应的java运行环境,也就是JVM,还要配置tomcat的具体路径。
Tomcat的配置
JAVA_HOME=/XXX/XXX/(JDK路径,bin的上一层目录)
CATALINA_HOME=/XXXX/XXX(tomcat的绝对路径 windows中 X:\xxx\xxx)
在启动Tomcat时,是运行Tomcat的bin目录下的startup.sh(windows中使用startup.bat)
判断Tomcat是否启动成功,可以在浏览器的地址栏中使用http://localhost:8080/或http://127.0.0.1:8080/可以访问到tomcat的主页就是启动成功了。要想停止tomcat服务器要使用shutdown.sh(windows中使用shutdown.bat),如果直接关闭启动窗口,就会造成8080端口占用错误,这时可以在使用shutdown.sh关闭一下服务器。
startup.sh,shutdown.sh,shutdown.bat,startup.bat这些文件其实是一些脚本文件用来执行大量的命令,也就是大量java命令。
tomcat的默认监听端口是8080端口,当接受到每一个连接请求,就会为其分配一个线程。
tomcat可以识别的资源只有在webapps文件夹下,webapps也就是web应用文件夹,webapps下的文件夹这些文件夹中存放的就是web应用,web应用是有格式规范的,每个web应用的文件夹下都要有
WEB-INF文件夹,WEB-INF文件夹下有classes,和lib文件夹,以及一个web.xml文件,一些使用到的类文件放在classes中,一些使用到的相应的jar文件。
注意:使用完有限的资源要进行释放。
tomcat中配置了root缺省应用,也就是在不指定的情况下会默认访问这个应用。
web.xml文件的写法
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>
在tomcat服务器中,访问应用下的资源可以在端口号后架上web应用文件夹得名字就可以看到资源
http://localhost:8080/xxxxx/xxxx.html,静态页面只能放在web应用的文件夹下,不能够放在
WEB-INF文件夹下,WEB-INF文件夹中的资源是受保护的,不能够通过网络访问到。
Servlet基础
Servlet,可以实现动态的页面,可以针对不同的请求作出不同的响应,可以实现页面的流转,Servlet可以充当MVC模式中的Ctrl模块,他可以控制信息的流向。
web服务器会web应用在WEB-INF文件夹下的classes文件夹搜索要加载的class文件,所以我们写的class文件要放在web应用中的WEB-INF文件夹下的classes文件夹下。
设置servlet的类和访问的方式
web.xml文件的配置,一个web.xml中可以配置多个Servlet
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>servlet的名字</servlet-name>
<servlet-class>servlet类全名</servlet-class>
</servlet>
<servlet>
<servlet-name>servlet的名字1</servlet-name>
<servlet-class>servlet类全名1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet的名字(要和servlet标签中的相同)</servlet-name>
<url-pattern>指定servlet相对于应用目录的路径</url-pattern>
</servlet-mapping>
servlet-mapping>
<servlet-name>servlet的名字1</servlet-name>
<url-pattern>指定servlet相对于应用目录的路径</url-pattern>
</servlet-mapping>
</web-app>
catalina.sh run 带控制台启动tomcat服务器。
Servlet的调用过程
1,用户通过浏览器向web服务器发送请求
http://serverip:port/apppath
2,服务器为用户定位资源
静态资源:/a.html /a/b.html (这里的路径是针对web应用文件夹目录)读文件并把内容发 送到客户端
动态资源:解析web.xml定位Servlet类的名字
装载类(WEB-INF/classes|WEB-INF/lib/*.jar)
创建该对象的实例
Servlet ser=(Servlet)(Class.forName("servle的类名")).newInstance();
//我们写的Servlet一定要实现Servlet接口或者继承实现了Servlet接口的类
ser.service(request,response);
<servlet-mapping>
<servlet-name>servlet的名字(要和servlet标签中的相同)</servlet-name>
<url-pattern>指定servlet相对于应用目录的路径</url-pattern>
</servlet-mapping>
url-parttern的配置,这个url就是Servlet的虚拟路径,可以使用相对路径或者是绝对路径。
/xxx/xxx(绝对路径) ,xxx(相对路径),尽量使用绝对路径。
访问servlet的方法
http://serverip:port/应用文件夹名/url-pattern
http的请求
get请求,post请求。
get请求在发出请求时会把参数写在地址栏上,而post请求不会把要发送的参数显示在地址栏上。
<form method="get" action="应用名/url-pattern">
......
</form>
我们可以通过ServletRequest对象的方法来获取请求中传送的参数。
getParameter(String name)方法,可以获得form表单中指定名字的参数,多参数同名时,只取一个。
getParameterNames(),可以获得一个迭代器Enumeration,通过这个迭代器,来获得form表单中参数的名字。
getParameterValues(String name)获得指定的所有同名参数的值。
分享到:
相关推荐
实验1: 利用servlet实现一个简单的聊天室 实验目的 (1) 理解servlet的工作原理 (2) 掌握servlet编程基本技能 实验内容及要求 1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息...
1. **模型(Model)**:负责数据的管理和业务逻辑的实现,这里的模型由Servlet实现。 2. **视图(View)**:展示用户界面,由JSP页面组成,用于显示学生信息。 3. **控制器(Controller)**:处理用户请求,协调模型和视图...
1.后端开发技术:servlet+jdbc 2.前端技术:jsp 3.前端ui:经典蓝色ui 4.功能点描述: (1)学生 查看个人信息、查看个人的晚归记录、填写请假单、查看请假的审核情况 (2)宿管员(有待完善) 基础信息管理、查看个人信息...
1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息窗口刷新。信息窗口显示发言人的姓名以及发言的内容。在进入聊天室之前需要进行登录,即输入用户名。 2. 在实验完成时需要向辅导...
- **项目辅导视频、论文等资料**:可能包含项目开发过程的教程、设计文档、相关论文等,帮助理解和学习项目。 - **数据库**:包含数据库脚本或已有的数据库文件,用于恢复和操作系统的数据环境。 - **源代码**:...
1. **Model-View-Controller**:在JSP+Servlet项目中,常采用MVC设计模式。Model代表数据模型,处理业务逻辑;View负责显示数据;Controller作为桥梁,处理用户请求并调用Model进行处理,更新View。 2. **...
《基于JavaEE、原生Servlet和MySQL的酒店管理系统设计与...项目的"项目辅导视频"和"论文等资料"可以进一步深入学习各个模块的具体实现细节,而"源代码"则可供开发者参考和学习,"项目截图"展示了系统的实际运行效果。
1. **Java编程语言**:Java是开发辅导答疑系统的基础,它是一种强类型、面向对象的编程语言,具有“一次编写,到处运行”的特性。Java的类库丰富,特别适合大型、分布式应用的开发,因此在教育软件中广泛应用。 2. ...
Java认证是全球认可的Java程序员技能评估标准,2009年的Java认证辅导资料涵盖了当时最新的Java技术,旨在帮助考生顺利通过考试并提升其Java编程能力。这些资料可能包括了Oracle Certified Associate (OCA), Oracle ...
4. 权限管理:设置不同角色(如管理员、辅导员等)的权限,确保数据安全。 5. 报表统计:生成各类统计报表,如空余床位、住宿率等。 【开发工具与环境】 开发过程中,可能使用了Eclipse或IntelliJ IDEA作为集成开发...
资源名字:基于javaEE+原生Servlet+MySql的村镇旅游网站设计与实现(源码+文档)_JAVAEE_Servlet_旅游网站 资源类型:项目全套源码+文档+辅导视频 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 适合...
1. **Java EE(企业版Java)**: Java EE,以前被称为J2EE,是一个用于构建企业级分布式应用的平台。它提供了一系列的API和服务,包括Servlet、JSP、EJB、JMS、JTA等,使得开发者可以创建高性能、可伸缩、安全的Web...
#### Servlet辅导 Servlet是一种Java技术,用于扩展服务器的功能,特别是处理HTTP请求和响应。它相当于服务器端的小应用程序,可以接收客户端发送的请求,执行相应的业务逻辑,并返回响应结果。Servlet生命周期包括...
城市公交查询系统介绍 我国许多城市都有一些颇具设计感的公交站台,但我们却很难在这里找到我们出行需要的信息。...5.训练检索文献资料和利用文献资料的能力; 6.训练撰写技术文档与学位论文的能力。
项目辅导视频、论文等资料可以进一步指导开发过程,帮助理解和解决问题。数据库文件和源代码提供了具体实现细节,通过阅读和分析这些内容,可以深入学习到实际开发中的技巧和最佳实践。项目截图则能直观展示系统功能...
1. **Java Web技术**:Java Web是Java在Web开发中的应用,它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等组件。Servlet用于处理服务器端的请求,JSP则侧重于视图展示,...
在辅导员管理系统中,Servlet将处理来自前端的请求,例如添加学生信息、更新课程表、查询成绩等。开发人员会创建自定义的Servlet类,重写`doGet`和`doPost`方法来处理特定的HTTP请求。 3. **JDBC与数据库交互** ...