本来想玩一下微信公众号开发,没想到学习曲线真是恶心的很,首先你要配置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开发的更多相关文章

  1. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  2. javaweb学习总结(五)——Servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  3. Servlet开发详解

    一.Servlet简介 Servlet是sun公司提供的一门用于动态web资源的技术 sun公司在其API中提供了一个Servlet接口,用户若想开发一个动态web资源,需要完成两个步骤: 编写一个J ...

  4. JavaWeb---总结(六)Servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  5. javaWeb中servlet开发——过滤器

    servlet开发--过滤器(filter) servlet有三种,分为简单servlet.过滤器servlet.监听servlet 简单servlet是作为一种程序所必须的开发结构保存的,继承htt ...

  6. java web 学习五(servlet开发1)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  7. javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)

    一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...

  8. Servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的用于开发动态web资源的技术.Sun公司在其API中提供了一个Servlet接口,用户若想开发一个动态web资源(即开发一个java程序向浏览器 ...

  9. javaweb学习总结(五)——Servlet开发(一)(转)

    转载自 http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun ...

随机推荐

  1. Windows API 之 InternetOpen、InternetOpenUrl、InternetReadFile

    InternetOpen: Initializes an application's use of the WinINet functions. HINTERNET InternetOpen( _In ...

  2. java打jar包

    一.打包jar文件 1      如果是class文件     jar cvf myjar.jar Foo.class Bar.class 如果是包     jar cvf myjar.jar pac ...

  3. 判断非法字符串的类方法,与jsp

    private String_do_judge judge; if (judge.isContain(key)) { return "feifa"; } 上面这写代码添加到进入ac ...

  4. UIImageView动画

    NSMutableArray *arrM = [NSMutableArray array]; // 2.加载所有图片 ; i <= ; i++) { NSString *imageName = ...

  5. Android 联网监控抓包工具的制作(tcpdump的使用)

    最近做一个Android联网抓包的工具 自己在网上搜索了好久 发现还是没有头绪 于是考虑在linux层上下功夫 于是采用linux的tcpdump来实现了抓包的功能 用简单的话来定义tcpdump,就 ...

  6. cin 与 scanf 的不同

    cin输入更方便: 首先,cin 是个C++类型对象,它的类型是basic_istream,scanf 是个不定参数的函数,其次,cin 所属的类重载了 >> 运算符,使输入更简单了,比如 ...

  7. adb not responding. if you'd like to

    在安装genymotion后启动工程报此错误. 解决方案:把其他虚拟机删掉,然后用genymotion新建一个,启动工程OK.

  8. HashSet 与HashMap底层实现

    1. HashSet底层通过包装HashMap来实现,HashSet在添加一个值的时候,实际上是将此值作为HashMap中的key来进行保存. 2. HashMap的底层实现是通过初始化化一个Entr ...

  9. HDU 2167 Pebbles(状压DP)

    题目链接:Pebbles Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  10. NOIP模拟赛---1.生气的LJJ (anger)

    LJJ刚上完了一节课!这节课是数学课!他知道了加减属于一级运算,乘除属于二级运算,幂则属于三级运算,而幂的优先级>乘除的优先级>加减的优先级(这是几年级的数学课).但是,从上一套试卷+上一 ...