设为首页 收藏本站
查看: 469|回复: 0

[经验分享] 30、servlet---tomcat原理

[复制链接]

尚未签到

发表于 2017-1-23 07:04:23 | 显示全部楼层 |阅读模式
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
DSC0000.png
DSC0001.png
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 目录结构
DSC0002.png
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 &quot;%r&quot; %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>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332122-1-1.html 上篇帖子: tomcat jvm 与线程 下篇帖子: Tomcat服务器性能优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表