配置ssi后,出现乱码问题,现将解决方案如下:
1. 下载tomcat5.5.29的zip版本,下载地址http://tomcat.apache.org/download-55.cgi
2. 找到server/lib下的servlets-ssi.renametojar,将其改名为servlets-ssi.jar后,复制并到本机tomcat安装路径$CATALINA_BASE/server/lib/下,覆盖原来的文件
3. 修改$CATALINA_BASE/conf/web.xml下的ssi配置,红色字体为新增的内容,如下:
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.ssi.SSIServlet
1. 下载tomcat5.5.29的zip版本,下载地址http://tomcat.apache.org/download-55.cgi
2. 找到server/lib下的servlets-ssi.renametojar,将其改名为servlets-ssi.jar后,复制并到本机tomcat安装路径$CATALINA_BASE/server/lib/下,覆盖原来的文件
3. 修改$CATALINA_BASE/conf/web.xml下的ssi配置,红色字体为新增的内容,如下:
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.ssi.SSIServlet
Tags: ssi
在目前的Tomcat中,shtml默认是不支持的,需要进行一定的配置,其实也不是非常复杂,不同的Tomcat版本,配置方法也有所不同,参考方法如下:
Tomcat5.x版的配置方法:
1.在$CATALINA_BASE/server/lib/目录下找到servlets-ssi.renametojar文件,将这个文件重命名为servlets-ssi.jar
2.在$CATALINA_BASE/conf/目录下找到web.xml文件
3.使用SSI Servlet的话删除在SSI servlet和servlet-mapping周围的注释,使用SSI filter的话删除在SSI filter和filter-mapping周围的注释
Tomcat5.x版的配置方法:
1.在$CATALINA_BASE/server/lib/目录下找到servlets-ssi.renametojar文件,将这个文件重命名为servlets-ssi.jar
2.在$CATALINA_BASE/conf/目录下找到web.xml文件
3.使用SSI Servlet的话删除在SSI servlet和servlet-mapping周围的注释,使用SSI filter的话删除在SSI filter和filter-mapping周围的注释
Session在使用的过程中是需要SessionID来获取的。而这个SessionID是存放在客户端的cookie中。那么假如你的浏览器关闭了cookie功能的话将不能使用Session。解决的办法就是通过URL重写。
URL重写功能其实就是对URL进行一个编码加密,客户端看不到真实的URL。而且它还有一个重要的功能就是每次进行完URL重写之后都会将SessionID放置到URL中。这样每次服务器在获取相应的Session时需要的SessionID可以从URL中找到。而且URL还进行了加密,增强了安全性。
<a href="www.bug.com/admin/info.jsp">Info List</a> 改为:
<a href="<%=response.encodeRedirectURL("www.bug.com/admin/info.jsp")%>">Info List</a>
又如:
URL重写功能其实就是对URL进行一个编码加密,客户端看不到真实的URL。而且它还有一个重要的功能就是每次进行完URL重写之后都会将SessionID放置到URL中。这样每次服务器在获取相应的Session时需要的SessionID可以从URL中找到。而且URL还进行了加密,增强了安全性。
<a href="www.bug.com/admin/info.jsp">Info List</a> 改为:
<a href="<%=response.encodeRedirectURL("www.bug.com/admin/info.jsp")%>">Info List</a>
又如:
Tags: url
我目的是把JSP页面转换成静态的HTML,url.openConnection()中的url是我项目中的JSP文件的路径,由于项目的页面有验证session是否失效,所以当url.openConnection()打开的页面时候session是空的,处理Session:ts.setRequestProperty("Cookie", "JSESSIONID=" + sessionId);request.getSession().getId()
代码如下:
代码如下:
复制内容到剪贴板 程序代码
public void getHtmlReport(String[] urlList,String protocol,String host,String sessionId ){
try
{
if(urlList.length < 1)
{
log.debug("Use: java TestSocket 所要转换的页面的URL [转换后要保存的文件名]");
try
{
if(urlList.length < 1)
{
log.debug("Use: java TestSocket 所要转换的页面的URL [转换后要保存的文件名]");
Tags: HttpURLConnection url