30、细说servlet(二)
30、细说servlet(2)
Servlet出现得早,servlet很轻大,但是servlet又一个致命的缺点:用servlet做界面十分吃力。。html代码是嵌入到println中打出来的。。。 Sun推出了jsp。。。jsp做界面比servlet好做多了~ Jsp出现不是对servlet的否定而是对servlet的补充,jsp做界面好多了;
Servlet是jsp技术的基础jsp是在servlet的基础上发展出来的。。jsp就是servlet但是servlet的基础上改进的。
jsp+ javabean+ ervlet,就构成mvc的开发模式.
静态web:html
动态web:jsp/servlet、php、.net
jsp = html+java#片段+jsp语法+js
jsp比较耗费内存,生成的class文件常驻内存运行,带来的好处就是处理快,效率高。
win7添加端口:
详见:http://jingyan.baidu.com/article/f96699bbadafca894f3c1b7a.html


web服务器运行原理:
异常:Address already in use: JVM_Bind(端口冲突)
1、查看端口是否开启
2、常看端口是否被占用
netstat -na
java运行包里程序:
1、正常编译
F>org>nick>server>javac MyServer.java
2、运行时:
F>java org.nick.server.MyServer
常用的web服务器
jboss
webLogic
WebSphere
tomcat(小中型)(大型=tomcat集成)
tomcat 目录结构

work目录:该目录用于存放jsp页面被编译后生成的servert文件和.class文件,在有时候修改jsp文件后,而浏览器没有任何改动,需要将此目录清空,让tomcat重新编译。
conf/web.xml :以及web请求mini的数据类型
虚拟目录设置:
1、默认为webapps目录
2、在<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>
Servlet出现得早,servlet很轻大,但是servlet又一个致命的缺点:用servlet做界面十分吃力。。html代码是嵌入到println中打出来的。。。 Sun推出了jsp。。。jsp做界面比servlet好做多了~ Jsp出现不是对servlet的否定而是对servlet的补充,jsp做界面好多了;
Servlet是jsp技术的基础jsp是在servlet的基础上发展出来的。。jsp就是servlet但是servlet的基础上改进的。
jsp+ javabean+ ervlet,就构成mvc的开发模式.
静态web:html
动态web:jsp/servlet、php、.net
jsp = html+java#片段+jsp语法+js
jsp比较耗费内存,生成的class文件常驻内存运行,带来的好处就是处理快,效率高。
win7添加端口:
详见:http://jingyan.baidu.com/article/f96699bbadafca894f3c1b7a.html
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>org>nick>server>javac MyServer.java
2、运行时:
F>java org.nick.server.MyServer
常用的web服务器
jboss
webLogic
WebSphere
tomcat(小中型)(大型=tomcat集成)
tomcat 目录结构
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>