Tomcat用法--Servlet开发
本来想玩一下微信公众号开发,没想到学习曲线真是恶心的很,首先你要配置Tomcat--你要会Servlet--你要会JSP,妈的!贴出来
快哭瞎了,各种文档,好吧,提供一个教你搞java EE文档的博客 http://blog.csdn.net/chenlycly/article/details/25341795
软件开发领域的三大方向:
桌面应用程序 QQ, office
Web应用程序 京东,天猫
嵌入式应用程序 安卓和iPhone的应用软件
一、Tomcat --最多支持在线用户不超过200个
Tomcat容器四个等级:Container,Engine,HOST,Servlet
Tomcat体系结构图:
java打war包命令:java -c
javac 编译包内java文件命令:javac -d . MyServlet.java -->> 结果打包
3、创建Servlet项目
Context root --项目发布到服务器的根名称
Context Directory --
Servlet项目目录结构:myweb---src文件夹 ---存放java文件
---WebContent文件夹 ---这是根目录/,存放html/css/js/img/jsp
---META-INF文件夹
--- WEB-INF文件夹
--- web.xml
--- classes文件夹 --隐藏
--- lib文件夹
--- index.htm
--- index.jsp
细节:1、修改JSP编码UTF-8,在jsp页面右键Preferences
2、修改项目名称:右键-->> Properties -->> Web Project Settings
4、发布项目到服务器
二、Servlet开发
用eclipse-ee开发servlet的缺点就是需要手动添加映射到web.xml,而myeclipse则会完全自动生成在web.xml
开发servlet的三种方式:Servlet接口,GernericServlet接口,HttpServlet接口
Servlet体系结构:
Servlet2.5和Servlet3.0版本区别:
Servlet2.5
1、配置servlet环境变量:系统 -->> 高级设置 -->> 环境变量 -->> 用户变量添加:变量名:CLASSPATH 地址:C:\tomcat7\lib\servlet-api.jar
2、部署servlet到web.xml:<servlet></servlet>, <servlet-mapping></servlet-mapping>
<servlet>
<!--给该servlet取个名字,该名字可以自定义,也可以默认-->
<servlet-name>ServletToJsp</servlet-name>
<!--指定该servlet放在哪个包下 :包.类名-->
<servlet-class>com.icss.biz.Login</servlet-class>
</servlet>
<!--servlet的映射-->
<servlet-mapping>
<!--下面servlet-name要和上面的一样-->
<servlet-name>ServletToJsp</servlet-name>
<url-pattern>/servlets/chat/chat</url-pattern>
</servlet-mapping>
3、Servlet容器:
4、servlet的生命周期:实例化--初始化--服务--销毁
当映射一个servlet的时候,可以多层,例如:<url-pattern>/servlet/index.html</url-pattern>,这里的html后缀并不代表html文件
同一个servlet可以被映射到多个URL上,<url-pattern></url-pattern>
在servlet映射到的URL中也可以使用通配符,但是只要两种格式:*.扩展名, /.../*
在匹配的时候要参考的标准:*.do的优先级别最低
servlet单例问题:第一次访问被加载到内存,同时因为servlet是单例,所以会出现线程安全问题,
1)如果一个变量被多个用户共享的时候,要加同步机制synchronized
2)如果一个变量不需要共享,则在doGet(),doPost()中定义
servlet中的<load-on-startup>配置:需求:定时写日志,定时备份数据,定时发送邮件
项目的虚拟路径
Servlet的访问:
1、URL地址栏直接访问 ---Get
2、表单访问 ---Post
3、超链接访问Serrvlet ---Get
4、Java Script脚本访问 ---Post
5、
MVC模型:
M ---Dao+JavaBean 可以包括业务层,dao层,持久层,主要提供对业务的操作和业务的数据 --->> Hibernate
V ---JSP/HTML --->> JSP + 框架标签
C ---Servlet 主要用于接收用户的请求,然后去调用M层的service类,再根据返回结果觉得跳转到V层哪个页面 --->> Struts中Action
Tomcat用法--Servlet开发的更多相关文章
- java web学习总结(五) -------------------servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- javaweb学习总结(五)——Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- Servlet开发详解
一.Servlet简介 Servlet是sun公司提供的一门用于动态web资源的技术 sun公司在其API中提供了一个Servlet接口,用户若想开发一个动态web资源,需要完成两个步骤: 编写一个J ...
- JavaWeb---总结(六)Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- javaWeb中servlet开发——过滤器
servlet开发--过滤器(filter) servlet有三种,分为简单servlet.过滤器servlet.监听servlet 简单servlet是作为一种程序所必须的开发结构保存的,继承htt ...
- java web 学习五(servlet开发1)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)
一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...
- Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的用于开发动态web资源的技术.Sun公司在其API中提供了一个Servlet接口,用户若想开发一个动态web资源(即开发一个java程序向浏览器 ...
- javaweb学习总结(五)——Servlet开发(一)(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun ...
随机推荐
- ThinkPHP 框架执行流程分析
总体来说,应用的流程涉及到几个文件:Index.phpThinkPHP.phpThink.class.phpApp.class.phpDispatcher.class.phpThinkPHP/Mode ...
- 剑指offer 数字在排序数组中出现的次数
因为有序 所以用二分法,分别找到第一个k和最后一个k的下标.时间O(logN) class Solution { public: int GetNumberOfK(vector<int> ...
- iOS原生refresh(UIRefreshControl)
转载:http://www.2cto.com/kf/201504/392431.html // // ViewController.m // 代码自定义cell // // Created by ma ...
- android脚步--Relativelayout设置
引自http://blog.csdn.net/lamp_zy/article/details/8035161 http://my.oschina.net/honeyming/blog/130761 以 ...
- rowcommand事件中获取控件
//根据当前按钮生成命名空间 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) ...
- n皇后问题<dfs>
n皇后问题指的是: n*n的国际象棋棋盘上摆放n个皇后,使其不能互相攻击, 即任意两个皇后都不能处于同一行.同一列或同一斜线上, 问有多少种摆法. 和一般n皇后问题不同的是,现在棋盘上有可能已经放了一 ...
- VS2005混合编译ARM汇编代码-转
原文地址:http://blog.csdn.net/annelcf/article/details/5468093 公司HW team有人希望可以给他们写一个在WinCE上,单独读写DDR的工具,以方 ...
- CodeForces 158B Taxi(贪心)
贪心,注意优先级,4单独,3与1先匹配,2与2匹配(注意判断2有没有剩下),然后2与两个1匹配,最后4个1匹配就可以了. #include<iostream> #include<cs ...
- base库插件---form
$().extend('serialize', function () { for (var i = 0; i < this.elements.length; i ++) { var form ...
- Android 各层中日志打印功能的应用
1. HAL层 头文件:#include <utils/Log.h> 对应的级别 打印方法 VERBOSE LOGV()DEBUG LOGD()INFO LOGI()WARN LOGW() ...