将app1.war复制到tomcat\webapp目录下复制到root下,不会自动安装,而且filter的设置也没有设置啊
解决方案 »
- myEclipse该怎么调试啊?脾气发过了该做事了
- jsp,简单问题,{}与<%%>之间的位置关系是怎么样的
- 利用ajax如何在jsp追加记录时,不刷新之前显示的记录。
- URL地址安全问题
- 最近接了一个保险的活,需要套打保单的信息
- 数据库连接出现问题
- 当一个页面中链接的资源正被下载时,所有页面不能再被其他用户浏览,这个问题怎么解决
- <meta http-equiv="pragma" content="no-cache">是什么意思
- 课程设计,用jsp,谁能推荐一本好点的书籍,有分!
- 如何在JS函数中申明一个二维数组,并赋值
- 送分问题:jsp中放一个applet ,它的codebase 怎么设
- 赐教:在b/s中有没有快速,友好的如pb的开发工具?jsp+js实在是......
只是一个简单的登陆过程:从数据库里读用户名,密码,检查用户身份.用了两个FILTER,一个是检查是否通过身份验证,一个是将编码改成GB2312
public class SecurityServlet extends HttpServlet implements Filter {
private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
try {
String signOnPage="login.jsp";
HttpServletRequest hreq=(HttpServletRequest) request;
HttpServletResponse hres=(HttpServletResponse) response; String currentURL=hreq.getRequestURI();
int ctxPathLen=0;
String ctxPath=hreq.getContextPath();
if(ctxPath!=null)
ctxPathLen=ctxPath.length();
String targetURL=null;
if(!currentURL.equals(ctxPath))
targetURL=currentURL.substring(ctxPathLen+1,currentURL.length());
else
targetURL=""; if((targetURL!=null)&&(targetURL.equals("login.do"))){
String userName = hreq.getParameter("username");
String password=hreq.getParameter("psw"); HttpSession session=hreq.getSession(false);
if(session!=null){
session.invalidate();
}
session=hreq.getSession(); if(UserManager.login(userName,password)){
session.setAttribute("logined",new Boolean(true));
hres.sendRedirect("index.htm");
}
else{
session.setAttribute("logined",new Boolean(false));
hres.sendRedirect(signOnPage);
}
return;
} if(targetURL.equals(signOnPage)){
filterChain.doFilter(request,response);
} HttpSession session=hreq.getSession();
Boolean logined=(Boolean)session.getAttribute("logined");
if(logined!=null){
if(logined.booleanValue()==true){
filterChain.doFilter(request,response);
return;
}
}
hres.sendRedirect(signOnPage);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
//Clean up resources
public void destroy() {
}
}
--------------------------------------------------------------------public class encodingfiler extends HttpServlet implements Filter {
private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
try {
HttpServletRequest hreq =(HttpServletRequest) request;
hreq.setCharacterEncoding("gb2312"); filterChain.doFilter(request,response);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
//Clean up resources
public void destroy() {
}
}---------------------------------------<web-app>
<filter>
<filter-name>encodingfiler</filter-name>
<filter-class>kaohe.encodingfiler</filter-class>
</filter>
<filter>
<filter-name>securityservlet</filter-name>
<filter-class>kaohe.SecurityServlet</filter-class>
</filter>
<filter-mapping>
<filter-name>securityservlet</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingfiler</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
</web-app>
if(targetURL.equals(signOnPage)){
filterChain.doFilter(request,response);
//加上
return;
}
没有RETURN就会出现死循环,重复调用SecurityServlet
谢谢各位!
再问一个问题:JSP项目做完了,如何放到别的装有TOMCAT的机器上,使之也能运行?