30、servlet---tomcat原理

Servlet出现得早,servlet很强大,但是servlet又一个致命的缺点:用servlet做界面十分吃力。。html代码是嵌入到println中打出来的。。。 Sun推出了jsp。。。jsp做界面比servlet好做多了~ Jsp出现不是对servlet的否定而是对servlet的补充,jsp做界面好多了;

Servlet是jsp技术的基础jsp是在servlet的基础上发展出来的。。jsp就是servlet但是servlet的基础上改进的。

jsp+ javabean+ servlet,就构成mvc的开发模式.

静态web:html
动态web:jsp/servlet、php、.net

jsp = html+java#片段+jsp语法+js
jsp比较耗费内存,生成的class文件常驻内存运行,带来的好处就是处理快,效率高。


win7添加端口:
详见:http://jingyan.baidu.com/article/f96699bbadafca894f3c1b7a.html
[img]http://dl2.iteye.com/upload/attachment/0106/8444/8443a8db-f452-390c-911f-ccfe27f40a5c.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0106/8446/503869bd-8cd0-3af1-8e30-96e084cfb9ba.png[/img]

web服务器运行原理:

public class MyServer {
public static void main(String[] str) throws IOException{
//socket封装接收,等待信息到来
ServerSocket ss = new ServerSocket(8182);
//长期运行main方法
while(true)
{
Socket s = ss.accept();
System.out.println("8182上等待");
OutputStream out = s.getOutputStream();
BufferedReader br = new BufferedReader(new FileReader("F:\\documents\\hadoop-doc\\centOS.txt"));
String buf="";
while((buf = br.readLine())!=null)
{
out.write(buf.getBytes());
}

br.close();
out.close();
s.close();
}
}
}


异常:Address already in use: JVM_Bind(端口冲突)
1、查看端口是否开启
2、常看端口是否被占用
netstat -na


java运行包里程序:
1、正常编译
F>javac -d .MyServer.java
2、运行时:
F>java org.nick.server.MyServer


常用的web服务器
jboss
webLogic
WebSphere
tomcat(小中型)(大型=tomcat集成)


tomcat 目录结构
[img]http://dl2.iteye.com/upload/attachment/0106/8467/3b619e2e-9245-3a37-b90d-b4ba0eca3565.png[/img]
work目录:该目录用于存放jsp页面被编译后生成的servert文件和.class文件,在有时候修改jsp文件后,而浏览器没有任何改动,需要将此目录清空,让tomcat重新编译。
conf/web.xml :以及web请求mini的数据类型

<!--session超时时间为30分钟-->
<session-config>
<session-timeout>30</session-timeout>
</session-config>



虚拟目录设置:
1、默认为webapps目录
2、在<Host>节点间添加:

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/web2" docBase="d:\web2"/>
</Host>

注意:xml文件慎用中文做注解
tomcat启动时,也要对xml文件解析,然后将其属性存放在内存常驻;
选项:
reloadable="true|false" 监控work目录是否发生变化后,自动更新 ,开发时设置为true,发布后设置为false,开销比较大。
upackWAR="true|false" 运行war文件时自动解压,默认为true


设置域名:
1、修改hosts文件
C:\Windows\System32\drivers\etc 127.0.0.1 www.nick.org
2、添加或修改 tomcat/server.xml
<Host name="www.nick.org" appBase="d:\web3"
unpackWARs="true" autoDeploy="true">
3、如果ip地址都为127.0.0.1 而域名指向了几个不同的目录,需要设置默认主机
<Engine name="Catalina" defaultHost="localhost">

server.xml文件结构
<Service name="Catalina">
<Connector port="8182" protocol="HTTP/1.1" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="www.nick.org"
<Host name="localhost"
<Context
<Context ./>
</Host>
</Engine>
</Service>
</Server>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值