`
flashdream8
  • 浏览: 675318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat7.0应用 及其 https 的设置

阅读更多

咱也用用tomcat7.0

1. 由于用的MyEclipse8.5 没有 tomcat7 所以就部署到 tomcat 6 下面 接着问题就来了。

    报错啦:

java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
	at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:55)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	... 1 more

 

 

google 一下解决问题

       MyEclipse + tomcat 7 问题: http://fengzhiyin.iteye.com/blog/707288

 

tomcat7 有什么新特性:

     摘录几条

           

  • Servlet 3.0:有不少新的有趣的东西,比如我比较感兴趣的:异步处理、Servlet可动态部署、内建文件上传支持。还有我不太感兴趣的:注释替代配置、插件体系。详见这里
  • JSP 2.2、EL 2.2
  • 增加了web application内存泄露的检测和防护。
  •  

    tomcat7 管理:

    默认情况下,Tomcat并没提供具有管理权限的账号,所以需要添加具有这种权限的账号。角色manager具有这种权限,但在系统用户控制文件tomcat-users.xml中并没有设置这两种角色和对应的用户,所以需要添加这种角色和用户,方法是打开tomcat-users.xml文件,添加如下内容:
        

     <role rolename="manager-gui"/>
    
          <role rolename="admin-gui"/>
    
         <user username="admin" password="tomcat" roles="admin-gui"/>
         <user username="manager" password="manager" roles="manager-gui"/>
    
    

         

        
    上述代码先创建角色manager-gui,然后创建对应的用户manager,tomcat-users.xml文件修改后,必须重启Tomcat服务器,文件修改才能生效。

     

     

     

    https 的设置

     

    1.首先用jdk自带的工具keytool生成一个"服务器证书"

       JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore C:\key.keystore
       提示输入密码,使用Tomcat的默认值changeit
       输入相关信息后确认

     

    2..修改tomcat目录下的server.xml文件,将 原来注释的 打开(去掉注释符号) 在加上

                   keystoreFile="${catalina.base}/key/key.keystore"  表示放到tomcat 下面的 key文件夹下
                   keystorePass="123456"                                           123456  表示在 第一步设置的时候设置的密码
                   URIEncoding="GBK"                    设置的编码,原因是 在通过url传递汉字参数的时候发生乱码

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   URIEncoding="GBK"
                   clientAuth="false" 
                   keystoreFile="${catalina.base}/key/key.keystore"
                   keystorePass="123456"
                   sslProtocol="TLS" />

     

    3. 修改web.xml 文件 让 tomcat 自动转向 https

        在 </welcome-file-list> 后面 插入以下代码

      

     <login-config>
          <!-- Authorization setting for SSL -->
          <auth-method>CLIENT-CERT</auth-method>
          <realm-name>Client Cert Users-only Area</realm-name>
      </login-config>
      <security-constraint>
          <!-- Authorization setting for SSL -->
          <web-resource-collection >
              <web-resource-name >SSL</web-resource-name>
              <url-pattern>/*</url-pattern>
          </web-resource-collection>
          <user-data-constraint>
              <transport-guarantee>CONFIDENTIAL</transport-guarantee>
          </user-data-constraint>
      </security-constraint>
    

     
    4. 保存以上文件  重启tomcat

        (大功告成)

    分享到:
    评论
    Global site tag (gtag.js) - Google Analytics