Servlet调用流程
来源:互联网 发布:桌面笔记软件 单机 编辑:程序博客网 时间:2024/05/29 19:05
首先说说我们的Tomcat7.0的目录结构:
包括目录:
bin
conf
lib
logs
temp
webapps
work
bin文件:
存放各种平台下启动和关闭Tomcat的脚本文件。
startup.bat是windows下启动tomcat的文件。
shutdown.bat是关闭tomcat的文件。
conf目录:
Tomcat的各种配置文件,tomcat启动时需要读取的配置文件:server.xml
lib目录:
存放Tomcat所需的各种jar文件。
logs目录:
存放Tomcat的日志文件。
temp目录:
临时文件目录,用于存放Tomcat运行时的临时文件。
webapps目录:
web应用的发布目录,把java编写的web应用或打包成的war格式的web应用文件放入该目录下,就能通过Tomcat服务器访问了。
work目录:
Tomcat把JSP文件编译生成Servlet文件存放在这个目录下。
数据传送流程:
java servlet:
我们要在webapps目录下建立一个我们javaweb项目的目录结构test_servlet:
WEB-INF/classes web.xml lib
lib文件:存放java包,数据库驱动程序等等。
classes文件:存放已编译好的类。
Web.Xml:配置一些信息,例如Servlet的配置,名字,路径等,告诉我们的Tomcat我们使用的哪个Servlet。
我们依次来写:
servlet代码:
//引入java的包。import javax.servlet.http.*;import java.io.*;import javax.servlet.*;//第一个Servlet程序。public class LoginServlet extends HttpServlet{//指定调用哪个servlet。//get提交和post提交两种方式。public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{//取得客户端的数据。String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username" + username);System.out.println("password" + password);//向浏览器上写数据。可以有流。字符流。//setContext设置响应的内容类型。设置为html类型或者中文。response.setContentType("text/html;charset=GB18030");//response.getWriter().println("Login Success!!!");//response.getWriter().println("登录成功!!!");response.getWriter().println("<html>");response.getWriter().println("<head>");response.getWriter().println("<title>登录信息</title>");response.getWriter().println("</head>");response.getWriter().println("<body>");response.getWriter().println("欢迎【" + username + "】登录成功!!!");response.getWriter().println("</body>");response.getWriter().println("</html>");}//采用post的提交方式。public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doGet(request,response);}}
虽然我们引入了jar包,但是程序是否能从找到tomcat的servlet jar包,我们需要配置一下用户的环境变量,把lib\servlet-api.jar包配置到classpath变量。当然tomcat也是java编码的,所以我们也配置一下JAVA_HOME变量,可以在tomcat的批处理命令startup.bat中进行配置,set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43。
然后把这个java文件编译成.class 文件,放到classes文件夹中。
html代码:
<html><head><title>登录</title></head><body> <!--这是绝对路径--><!--相对路径写法:action="LoginServlet"--><form action="http://127.0.0.1:8080/test_servlet/LoginServlet">用户:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form></body></html>
Web.Xml :
<?xml version="1.0" encoding="ISO-8859-1"?><web-app 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_3_0.xsd" version="3.0" metadata-complete="true"> <servlet><servlet-name>MyServlet</servlet-name><servlet-class>LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/LoginServlet</url-pattern></servlet-mapping></web-app>
启动Tomcat就可以执行成功。
下面是servlet的调用过程,也可以用HTTPLook软件来跟踪:
作为一个java的初学者来说,开始一个servlet让我很模糊,什么是servlet呢?有道上说是servlet(小服务程序),学过了发现,也是26个英文字母的组合,其实说白了就是java代码,但是因为他的用途,人们给他抽象总结了一个层次,叫做servlet,。就相当于县长首先是人,再是县长~,貌似搞得这儿复杂~不也是个干活的么~
同样是网页,.net开发的网页和java开发的有什么区别呢?.net中有没有servlet?据说.cs文件写“servlet”就相当于servlet了。呵呵,有待更深的研究,加油!
- Servlet调用流程
- Servlet调用流程
- Servlet调用流程
- 【Java】Servlet调用流程
- Tomcat一次http请求处理,filter、servlet调用流程
- Servlet流程
- 调用 Servlet
- servlet调用
- Servlet 调用servlet
- jetty的ServletHandler分析(servlet最终调用前的一些流程)
- Servlet处理的流程
- Servlet运行流程
- Servlet执行流程
- Servlet处理的流程
- Servlet 工作流程
- servlet运行流程
- servlet工作流程
- servlet的编写流程
- ENCTYPE="multipart/form-data"介绍
- log4j介绍及配置详解
- quick-cocos2d-x使用luajit编译lua脚本
- jdbc 配置文件链接数据库
- 算法学习与实践之选择排序
- Servlet调用流程
- JAVA API文档,可以直接进行API搜索
- 【系统收藏】分析Windows 8系统三种安装方式的利弊
- java异常总结
- 深入学习NAT工作原理
- spring ldap demo
- xml设置渐变+阴影的背景
- 在SAE中如何使用JDBC连接数据库
- (转)Fidder教程