我的SSH项目之旅(8.管理员后台)

2008年08月17日 JAVA 暂无评论

最后的部分是管理员操作
这一部分倒没遇到什么大的问题,一般的问题都可以解决。到是在最后加个登陆验证的过滤器的时候,登陆之后的ID值在有的页面总传不过去,真奇怪。

用户管理
|——列出所有用户
|——修改用户积分
|——删除用户
问题管理
|——删除问题
|——推荐问题
栏目管理
|——添加
|——删除
|——修改
|——列出
管理员
|——添加
|——删除
修改密码

这一部分的代码也没什么特别,所以也不贴出来了

无法删除中文用户?(暂且改为按ID删除)

java.lang.IllegalArgumentException: Path adminquestion.do?status=list does not start with a "/" character
原来是个小问题 这块没加“/”
<forward name="list" path="/jsp/admin/adminquestion.do?status=list"></forward>

加个过滤器验证用户的登陆
public class AdminLoginFilter implements Filter {

     public void destroy() {
           // TODO Auto-generated method stub

     }

     public void doFilter(ServletRequest arg0, ServletResponse arg1,
                 FilterChain arg2) throws IOException, ServletException {
因为Session属于HTTP范畴,所以ServletRequest要转换成HttpServletRequest
           HttpServletRequest req=(HttpServletRequest)arg0;
           if(req.getSession().getAttribute("adminid")!=null){
                 arg2.doFilter(arg0, arg1);
                 
           }else{
                 req.getRequestDispatcher("forward.htm").forward(arg0, arg1);
           }
     }

     public void init(FilterConfig arg0) throws ServletException {
           // TODO Auto-generated method stub

     }

}
Web.xml
     <filter>
           <filter-name>adminlogin</filter-name>
           <filter-class>
                 dj.fantlam.myssh.filter.AdminLoginFilter
           </filter-class>
     </filter>
     <filter-mapping>
           <filter-name>adminlogin</filter-name>
           <url-pattern>/jsp/admin/*</url-pattern>
     </filter-mapping>

补充一些中文乱码解决问题
关于URL传参乱码的问题,有时候就算有过滤器也一样会出乱码。
解决方案 在tomcat server.xml加上
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
  <Connector port="8888" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>

eclipse插件
http://propedit.sourceforge.jp/index_en.html

最后说下程序的打包
可以直接用命令 jar –cvf MySSH.war(生成的war文件)SSH(文件夹)
也可以用myeclipse帮我们打包
MySSH.war可以直接部署到tomcat下提供访问。

给我留言