⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newsservlet.java

📁 EJB模块编程 新闻管理newsapp 无状态会话Bean 需要数据库
💻 JAVA
字号:
/*
 * Created on 2007-4-17
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package cn.edu.zucc.news.servlet;

import java.io.IOException;
import java.rmi.RemoteException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;

import javax.ejb.CreateException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import newsjar.*;
import cn.edu.zucc.news.model.*;

/**
 * @author wengwy
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class NewsServlet extends HttpServlet {
    news dao =null;

    private long seed = 1;

    private SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");

    private newsHome getHome() throws NamingException {
		return (newsjar.newsHome) getContext().lookup(
				newsjar.newsHome.JNDI_NAME);
	}

	private InitialContext getContext() throws NamingException {
		Hashtable props = new Hashtable();

		props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
				"org.jnp.interfaces.NamingContextFactory");
		props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");

		// This establishes the security for authorization/authentication
		// props.put(InitialContext.SECURITY_PRINCIPAL,"username");
		// props.put(InitialContext.SECURITY_CREDENTIALS,"password");

		InitialContext initialContext = new InitialContext(props);
		return initialContext;
	}
	/* (non-Javadoc)
	 * @see javax.servlet.GenericServlet#init()
	 */
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		try{
			dao=getHome().create();
		}catch(RemoteException e){
			e.printStackTrace();
		}catch(CreateException e){
			e.printStackTrace();
		}catch(NamingException e){
			e.printStackTrace();
		}
	}
    public void destroy() {
        // TODO Auto-generated method stub
    	try{
        	dao.remove();
        }catch(Exception e){}
        super.destroy();
    }

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        //TODO Method stub generated by Lomboz
        this.doPost(request, response);
    }

    private String listNewsType(HttpServletRequest request) {
        try {
            request.setAttribute("objlist", dao.loadAllNewsType());

            return "/newstype_list.jsp";
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String list(HttpServletRequest request) {
        try {
            request.setAttribute("objlist", dao.loadAllNews());

            return "/index.jsp";
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String addNewsType(HttpServletRequest request) {
        request.setAttribute("obj", new NewsType());
        return "/newstype_edit.jsp";
    }

    private String addNewsTypeResult(HttpServletRequest request) {
        NewsType newstype = new NewsType();
        newstype.setNewsTypeId(df.format(new Date()) + "-" + (seed++));
        newstype.setNewsTypeName(request.getParameter("newstypename"));
        newstype.setListOrd(Integer.parseInt(request.getParameter("listord")));
        try {
            this.dao.addNewstype(newstype);
            return this.listNewsType(request);
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }

    }

    private String modifyNewsType(HttpServletRequest request) {
        try {
            NewsType newstype = this.dao.readNewstype(request
                    .getParameter("newstypeid"));
            newstype.setMethod("modifyNewsTypeResult");
            request.setAttribute("obj", newstype);
            return "/newstype_edit.jsp";
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String modifyNewsTypeResult(HttpServletRequest request) {
        NewsType newstype = new NewsType();
        newstype.setNewsTypeId(request.getParameter("newstypeid"));
        newstype.setNewsTypeName(request.getParameter("newstypename"));
        newstype.setListOrd(Integer.parseInt(request.getParameter("listord")));
        try {
            this.dao.saveNewstype(newstype);
            return this.listNewsType(request);
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String deleteNewsType(HttpServletRequest request) {
        try {
            this.dao.delNewstype(request.getParameter("newstypeid"));
            return this.listNewsType(request);
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String listNews(HttpServletRequest request) {
        try {
            request.setAttribute("objlist", dao.loadAllNews());

            return "/news_list.jsp";
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String addNews(HttpServletRequest request) {
        News obj=new News();
        obj.setNewsTypeId(request.getParameter("newstypeid"));
        request.setAttribute("obj",obj );
        return "/news_edit.jsp";
    }

    private String addNewsResult(HttpServletRequest request) {
        News news = new News();
        news.setNewsid(df.format(new Date()) + "-" + (seed++));
        news.setIsurl(request.getParameter("isurl"));
        news.setNewsAutor((String) request.getSession()
                .getAttribute("username"));
        news.setNewsContent(request.getParameter("newscontent"));
        news.setNewsTitle(request.getParameter("newstitle"));
        news.setNewsTypeId(request.getParameter("newstypeid"));

        try {
            this.dao.addNews(news);
            return this.listNews(request);
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }

    }

    private String modifyNews(HttpServletRequest request) {
        try {
            News news = this.dao.readNews(request.getParameter("newsid"));
            news.setMethod("modifyNewsResult");
            request.setAttribute("obj", news);
            return "/news_edit.jsp";
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }
    
    private String readNews(HttpServletRequest request) {
        try {
            News news = this.dao.readNews(request.getParameter("newsid"));
            if(news!=null)dao.incReadCount(news.getNewsid());
            request.setAttribute("obj", news);
            return "/readnews.jsp";
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String modifyNewsResult(HttpServletRequest request) {
        News news = new News();
        news.setNewsid(request.getParameter("newsid"));
        news.setIsurl(request.getParameter("isurl"));
        //System.out.println(request.getParameter("newscontent"));
        news.setNewsContent(request.getParameter("newscontent"));
        news.setNewsTitle(request.getParameter("newstitle"));
        news.setNewsTypeId(request.getParameter("newstypeid"));
        try {
            this.dao.saveNews(news);
            return this.listNews(request);
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    private String deleteNews(HttpServletRequest request) {
        try {
            this.dao.delNews(request.getParameter("newsid"));
            return this.listNews(request);
        } catch (Exception ex) {
            request.setAttribute("errormsg", ex.getMessage());
            return "/error.jsp";
        }
    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        //TODO Method stub generated by Lomboz
        if(request.getSession().getAttribute("username")==null){
            if(request.getParameter("method")!=null
                    &&!request.getParameter("method").equals("read")) {
                response.sendRedirect("login.jsp");
                return;
            }
        }
        System.out.println("gjy");
        request.setCharacterEncoding("gbk");
        String method = request.getParameter("method");
        

        if (method == null)
            method = "";
        String result = "";
        if (method.equals("addNews"))
            result = this.addNews(request);
        else if (method.equals("addNewsResult"))
            result = this.addNewsResult(request);
        else if (method.equals("addNewsType"))
            result = this.addNewsType(request);
        else if (method.equals("addNewsTypeResult"))
            result = this.addNewsTypeResult(request);
        else if (method.equals("deleteNews"))
            result = this.deleteNews(request);
        else if (method.equals("deleteNewsType"))
            result = this.deleteNewsType(request);
        else if (method.equals("listNews"))
            result = this.listNews(request);
        else if (method.equals("listNewsType"))
            result = this.listNewsType(request);
        else if (method.equals("modifyNews"))
            result = this.modifyNews(request);
        else if (method.equals("modifyNewsType"))
            result = this.modifyNewsType(request);
        else if (method.equals("modifyNewsResult"))
            result = this.modifyNewsResult(request);
        else if (method.equals("modifyNewsTypeResult"))
            result = this.modifyNewsTypeResult(request);
        else if (method.equals("read"))
            result= this.readNews(request);
        else
            result = list(request);
        RequestDispatcher dispatcher = request.getSession().getServletContext()
                .getRequestDispatcher(result);
        if (dispatcher != null)
            dispatcher.forward(request, response);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -