81,118
社区成员




<servlet-mapping>
<url-pattern>.....</url-pattern>
<servlet-name>Photo<servlet-name>
</servlet-mapping>
这里出错,你没有配置任何一个叫做
<servlet>
<servlet-name>Photo</servlet-name>
...
六月 16, 2014 9:44:00 上午 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.24 using APR version 1.4.6.
六月 16, 2014 9:44:00 上午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:HelloWorld' did not find a matching property.
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:D_HelloWorld' did not find a matching property.
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Little_Practise' did not find a matching property.
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:XianDaiJiaoYuJiShu' did not find a matching property.
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:blog' did not find a matching property.
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:blog_EX' did not find a matching property.
六月 16, 2014 9:44:00 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:123' did not find a matching property.
六月 16, 2014 9:44:01 上午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1c 10 May 2012)
六月 16, 2014 9:44:01 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
六月 16, 2014 9:44:01 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
六月 16, 2014 9:44:01 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1367 ms
六月 16, 2014 9:44:01 上午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
六月 16, 2014 9:44:01 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.33
六月 16, 2014 9:44:02 上午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(G:\大三课件\大三:下\Java的Web开发\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\D_HelloWorld\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
六月 16, 2014 9:44:02 上午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(G:\大三课件\大三:下\Java的Web开发\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\blog\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
六月 16, 2014 9:44:02 上午 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/blog]]
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/blog]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name Photo
at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3213)
at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3192)
at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1304)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1352)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
六月 16, 2014 9:44:02 上午 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:451)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
六月 16, 2014 9:44:02 上午 org.apache.catalina.startup.Catalina start
严重: Catalina.start:
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:451)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
六月 16, 2014 9:44:02 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 804 ms
六月 15, 2014 11:35:25 下午 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: F:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;F:/Program Files/Java/jdk1.7.0_45/bin/../jre/bin/client;F:/Program Files/Java/jdk1.7.0_45/bin/../jre/bin;F:/Program Files/Java/jdk1.7.0_45/bin/../jre/lib/i386;F:\Program Files\Java\jdk1.7.0_45\bin;F:\tecentWeixin\androidsdkwin\tools;C:\php-5.2.13-Win32;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32\;C:\Program Files\AMD APP\bin\x86;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\OpenCL SDK\2.0\bin\x86;c:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;F:\Program Files\Microsoft SQL Server\100\Tools\Binn\;F:\Program Files\Microsoft SQL Server\100\DTS\Binn\;F:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Windows Live\Shared;F:\Program Files\MATLAB\R2012a\runtime\win32;F:\Program Files\MATLAB\R2012a\bin;F:\Program Files\MATLAB\R2011b\runtime\win32;F:\Program Files\MATLAB\R2011b\bin;F:\各种软件\各种 系统 软件(编程类)\Javaweb软件包\eclipse;;.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:HelloWorld' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:D_HelloWorld' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Little_Practise' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:XianDaiJiaoYuJiShu' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:blog' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:blog_EX' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:123' did not find a matching property.
六月 15, 2014 11:35:25 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
六月 15, 2014 11:35:25 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
六月 15, 2014 11:35:25 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 576 ms
六月 15, 2014 11:35:25 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
六月 15, 2014 11:35:25 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.33
六月 15, 2014 11:35:26 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(G:\大三课件\大三:下\Java的Web开发\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\D_HelloWorld\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
六月 15, 2014 11:35:26 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(G:\大三课件\大三:下\Java的Web开发\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\blog\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
六月 15, 2014 11:35:26 下午 org.apache.tomcat.util.digester.Digester fatalError
严重: Parse Fatal Error at line 50 column 3: 元素类型 "servlet" 必须由匹配的结束标记 "</servlet>" 终止。
org.xml.sax.SAXParseException; systemId: jndi:/localhost/blog/WEB-INF/web.xml; lineNumber: 50; columnNumber: 3; 元素类型 "servlet" 必须由匹配的结束标记 "</servlet>" 终止。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1878)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1259)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
/**
* @功能 从数据表中获取某类别下的所有文章
*/
public void selectArticle(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
ArticleDao articleDao = new ArticleDao();
String strId=request.getParameter("typeId");
if(strId==null||strId.equals(""))
strId="-1";
int typeId=Integer.parseInt(strId);
List articleList=articleDao.queryArticle(typeId,"all");
request.setAttribute("articleList",articleList);
request.setAttribute("articleListSize",new Integer(articleList.size()));
RequestDispatcher rd=request.getRequestDispatcher("/front/article/ArticleList.jsp");
rd.forward(request,response);
}
/**
* @功能 后台-增加文章类别
*/
public void addArticleType(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String messages = "";
String href="";
String forward="";
ArticleTypeBean typeBean = new ArticleTypeBean();
typeBean.setTypeName(Common.toChinese(request.getParameter("typeName")));
typeBean.setTypeInfo(Common.toChinese(request.getParameter("typeInfo")));
ArticleTypeDao articleTypeDao = new ArticleTypeDao();
boolean mark=articleTypeDao.operationArticleType("add", typeBean);
if(mark) {
messages+="<li>添加文章类别成功!</li>";
href="<a href='/Blog/admin/article/ArticleTypeAdd.jsp'>[继续添加文章类别]</a>";
forward="/admin/success.jsp";
}
else {
messages+="<li>添加文章类别失败!</li>";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
forward="/admin/error.jsp";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
RequestDispatcher rd=request.getRequestDispatcher(forward);
rd.forward(request,response);
}
/**
* @功能 阅读文章
* @实现 1.增加文章阅读次数<br>2.获取指定文章信息<br>3.获取对该文章的所有评论
*/
public void readArticle(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
ArticleBean articleBean = new ArticleBean();
ArticleDao articleDao = new ArticleDao();
ReviewDao reviewDao=new ReviewDao();
String strId=request.getParameter("id");
int id=Common.strToint(strId);
articleBean.setId(id);
//累加阅读次数
articleDao.operationArticle("readTimes", articleBean);
//查询指定文章的详细内容
articleBean=articleDao.queryArticleById(id);
//保存articleBean到request对象中
session.setAttribute("readSingle", articleBean);
//获取文章评论
List reviewlist=reviewDao.queryReview(id);
session.setAttribute("reviewlist",reviewlist);
request.setAttribute("reviewlistSize", new Integer(reviewlist.size()));
RequestDispatcher rd = request.getRequestDispatcher("/front/article/ArticleSingle.jsp");
rd.forward(request, response);
}
/**
* @功能 添加文章评论
*/
public void addFollow(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("articleId"));
String author=Common.toChinese(request.getParameter("reAuthor"));
String content=Common.toChinese(request.getParameter("reContent"));
String today=Common.changeTime(new Date());
if(author==null||author.equals(""))
author="匿名好友";
ReviewBean reviewBean = new ReviewBean();
reviewBean.setArticleId(id);
reviewBean.setReAuthor(author);
reviewBean.setReContent(content);
reviewBean.setReSdTime(today);
ReviewDao reviewDao = new ReviewDao();
String messages="";
String forward="";
boolean mark=reviewDao.operationReview("add",reviewBean);
if (mark) {
forward="/front/article/success.jsp";
messages="<li>发表评论成功!</li>";
} else {
forward="/front/article/error.jsp";
messages="<li>发表评论失败!</li>";
}
request.setAttribute("messages",messages);
RequestDispatcher rd=request.getRequestDispatcher(forward);
rd.forward(request,response);
}
/**
* @功能 后台-文章类别浏览功能
*/
public void selectArticleType(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArticleTypeDao typeDao=new ArticleTypeDao();
List typelist=typeDao.queryTypeList();
request.setAttribute("typelist",typelist);
RequestDispatcher rd=request.getRequestDispatcher("/admin/article/ArticleTypeList.jsp");
rd.forward(request,response);
}
/**
* @功能 后台-修改文章类别
*/
public void modifyArticleType(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher rd=null;
ArticleTypeBean typeBean=null;
ArticleTypeDao typeDao=new ArticleTypeDao();
String type=request.getParameter("type");
if(type==null)
type="";
if(!type.equals("doModify")){
int typeId=Common.strToint(request.getParameter("typeId"));
typeBean=typeDao.queryTypeSingle(typeId);
request.setAttribute("typeSingle",typeBean);
rd=request.getRequestDispatcher("/admin/article/ArticleTypeModify.jsp");
rd.forward(request,response);
}
else{
String messages="";
String href="";
String forward="";
typeBean = new ArticleTypeBean();
typeBean.setId(Common.strToint(request.getParameter("typeId")));
typeBean.setTypeName(Common.toChinese(request.getParameter("typeName")));
typeBean.setTypeInfo(Common.toChinese(request.getParameter("typeInfo")));
boolean mark=typeDao.operationArticleType("modify",typeBean);
if (mark) {
messages="<li>修改类别成功!</li>";
href="<a href='ArticleServlet?action=typeSelect'>[继续修改其他类别]</a>";
forward="/admin/success.jsp";
} else {
messages="<li>修改失败!</li>";
href="<a href='javascript:window.history.go(-1)>[返回]</a>";
forward="/admin/error.jsp";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
rd=request.getRequestDispatcher(forward);
rd.forward(request,response);
}
}
/**
* @功能 后台-删除文章类别
*/
public void deleteArticleType(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
ArticleTypeDao typeDao = new ArticleTypeDao();
ArticleTypeBean typeBean = new ArticleTypeBean();
String messages="";
String href="";
String forward="";
typeBean.setId(Common.strToint(request.getParameter("typeId")));
boolean flag=typeDao.operationArticleType("delete",typeBean);
if (flag) {
messages+="<li>删除类别成功!</li>";
href="<a href='/Blog/ArticleServlet?action=typeSelect'>[继续删除其他类别]</a>";
forward="/admin/success.jsp";
} else {
messages+="<li>删除类别失败!</li>";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
forward="/admin/error.jsp";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
这是另一部分package com.blog.servlet;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.blog.common.Common;
import com.blog.dao.ArticleDao;
import com.blog.dao.ArticleTypeDao;
import com.blog.dao.ReviewDao;
import com.blog.entity.ArticleBean;
import com.blog.entity.ArticleTypeBean;
import com.blog.entity.ReviewBean;
public class ArticleServlet extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取Servlet中将执行的操作
String action = request.getParameter("action");
if(action==null)
action="";
if (action.equals("select"))
this.selectArticle(request, response); //获取某类别下所有文章
if (action.equals("adminSelectList"))
this.adminSelectList(request,response); //后台文章管理中的文章浏览功能
/*if (action.equals("adminSelectSingle"))
this.adminSelectSingle(request,response);*/
if (action.equals("add"))
this.addArticle(request, response); //增加文章
if (action.equals("modify"))
this.modifyArticle(request, response); //修改文章
if (action.equals("delete"))
this.deleteArticle(request, response); //删除文章
if (action.equals("read"))
this.readArticle(request, response); //阅读文章
if (action.equals("followAdd"))
this.addFollow(request, response); //发表文章回复
if (action.equals("typeAdd"))
this.addArticleType(request, response); //增加文章类别
if (action.equals("typeSelect"))
this.selectArticleType(request, response); //查看文章类别
if (action.equals("typeModify"))
this.modifyArticleType(request, response); //修改文章类别
if (action.equals("typeDelete"))
this.deleteArticleType(request, response); //删除文章类别
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
/**
* @功能 后台-增加文章
*/
public void addArticle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String messages = "";
String href="";
String forward="";
//对表单输入的数据进行乱码处理
ArticleBean articleBean = new ArticleBean();
articleBean.setTypeId(Common.strToint(request.getParameter("typeId")));
articleBean.setTitle(Common.toChinese(request.getParameter("title")));
articleBean.setContent(Common.changeHTML(Common.toChinese(request.getParameter("content"))));
articleBean.setSdTime(Common.changeTime(new Date()));
articleBean.setCreate(Common.toChinese(request.getParameter("create")));
articleBean.setInfo(Common.toChinese(request.getParameter("info")));
articleBean.setCount(0);
ArticleDao articleDao = new ArticleDao();
boolean flag=articleDao.operationArticle("add", articleBean);
if(flag) {
messages = "<li>发表文章成功!</li>";
href="<a href='/Blog/admin/article/AddArticle.jsp'>[继续发表]</a>";
forward="/admin/success.jsp";
}
else{
messages="<li>发表文章失败!</li>";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
forward="/admin/error.jsp";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
}
/**
* @功能 后台-删除文章
*/
public void deleteArticle(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
ArticleDao articleDao = new ArticleDao();
ArticleBean articleBean = new ArticleBean();
String messages="";
String href="";
String forward="";
articleBean.setId(Common.strToint(request.getParameter("id")));
boolean flag=articleDao.operationArticle("delete", articleBean);
if (flag) {
String typeId=request.getParameter("typeId");
messages+="<li>删除文章成功!</li>";
href="<a href='/Blog/ArticleServlet?action=adminSelectList&typeId="+typeId+"'>[继续删除其他文章]</a>";
forward="/admin/success.jsp";
} else {
messages+="<li>删除文章失败!</li>";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
forward="/admin/error.jsp";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
RequestDispatcher rd = request.getRequestDispatcher(forward);
rd.forward(request, response);
}
/**
* @功能 修改文章
*/
public void modifyArticle(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
RequestDispatcher rd=null;
ArticleDao articleDao=new ArticleDao();
String type=request.getParameter("type");
if(type==null)
type="";
if(!type.equals("doModify")){
int id=Common.strToint(request.getParameter("id"));
ArticleBean articleBean=articleDao.queryArticleById(id);
request.setAttribute("modifySingle",articleBean);
rd=request.getRequestDispatcher("/admin/article/ArticleModify.jsp");
rd.forward(request,response);
}
else{
String messages="";
String href="";
String forward="";
ArticleBean articleBean = new ArticleBean();
articleBean.setId(Common.strToint(request.getParameter("id")));
articleBean.setTypeId(Integer.parseInt(request.getParameter("typeId")));
articleBean.setTitle(Common.toChinese(request.getParameter("title")));
articleBean.setCreate(Common.toChinese(request.getParameter("create")));
articleBean.setInfo(Common.toChinese(request.getParameter("info")));
articleBean.setContent(Common.toChinese(request.getParameter("content")));
boolean flag=articleDao.operationArticle("modify",articleBean);
if (flag) {
messages="<li>修改成功!</li>";
href="<a href='/Blog/ArticleServlet?action=adminSelectList&typeId="+session.getAttribute("showTypeId")+"'>[继续修改其他文章]</a>";
forward="/admin/success.jsp";
} else {
messages="<li>修改失败!</li>";
href="<a href='javascript:window.history.go(-1)'>[返回]</a>";
forward="/admin/error.jsp";
}
request.setAttribute("messages",messages);
request.setAttribute("href",href);
rd=request.getRequestDispatcher(forward);
rd.forward(request,response);
}
}
/**
* @功能 实现后台文章管理中的文章浏览功能
*/
public void adminSelectList(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
ArticleDao articleDao = new ArticleDao();
String strId=request.getParameter("typeId");
if(strId==null||strId.equals(""))
strId="-1";
int typeId=Integer.parseInt(strId);
session.setAttribute("showTypeId",new Integer(typeId));
List articleList=articleDao.queryArticle(typeId,"all");
request.setAttribute("articleList",articleList);
RequestDispatcher rd=request.getRequestDispatcher("/admin/article/ArticleList.jsp");
rd.forward(request,response);
}
这个是ArticleServle.javat的部分代码
<a href = "../servlet/article?action=typeSelect" target = "main">浏览</a>