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