在路径为[/PetSys]的上下文中,servlet[PetServlet]的Servlet.service()引发?

陈沉沉. 2020-01-21 07:52:06
server.xml文件:
<Context docBase="PetSys" path="/PetSys" reloadable="true" source="org.eclipse.jst.jee.server:PetSys"/>

PetServlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String opr=request.getParameter("opr");
PetService psi=new PetSerivceImpl();
if(opr.equals("pet")) {
List<Pet> list=psi.getAllPetInfo();
request.getSession().setAttribute("list", list);
System.out.println("servlet"+list);
response.sendRedirect("petInfo.jsp");
}
}


1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server.服务器版本: Apache Tomcat/9.0.30
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器构建: Dec 7 2019 16:42:04 UTC
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器版本号(:9.0.30.0
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name: Mac OS X
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS.版本: 10.15.2
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 架构: x86_64
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java 环境变量: /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM 版本: 13+33
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM.供应商: Oracle Corporation
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: /Users/chenqiao/Documents/Java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: /Library/Java/tomcat/apache-tomcat-9.0-2.30
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=/Users/chenqiao/Documents/Java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=/Library/Java/tomcat/apache-tomcat-9.0-2.30
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dwtp.deploy=/Users/chenqiao/Documents/Java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
1月 21, 2020 7:26:36 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dfile.encoding=UTF-8
1月 21, 2020 7:26:36 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/chenqiao/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
1月 21, 2020 7:26:37 下午 org.apache.coyote.AbstractProtocol init
信息: 初始化协议处理器 ["http-nio-8888"]
1月 21, 2020 7:26:37 下午 org.apache.coyote.AbstractProtocol init
信息: 初始化协议处理器 ["ajp-nio-8889"]
1月 21, 2020 7:26:37 下午 org.apache.catalina.startup.Catalina load
信息: 服务器在[845]毫秒内初始化
1月 21, 2020 7:26:37 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service [Catalina]
1月 21, 2020 7:26:37 下午 org.apache.catalina.core.StandardEngine startInternal
信息: 正在启动 Servlet 引擎:[Apache Tomcat/9.0.30]
1月 21, 2020 7:26:37 下午 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory getObjectInstance
警告: Name = Pet Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "100" for "maxActive" property, which is being ignored.
1月 21, 2020 7:26:37 下午 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory getObjectInstance
警告: Name = Pet Property maxWait is not used in DBCP2 , use maxWaitMillis instead. maxWaitMillis default value is -1. You have set value of "10000" for "maxWait" property, which is being ignored.
1月 21, 2020 7:26:37 下午 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory getObjectInstance
警告: Name = Pet Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "100" for "maxActive" property, which is being ignored.
1月 21, 2020 7:26:37 下午 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory getObjectInstance
警告: Name = Pet Property maxWait is not used in DBCP2 , use maxWaitMillis instead. maxWaitMillis default value is -1. You have set value of "10000" for "maxWait" property, which is being ignored.
1月 21, 2020 7:26:38 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
1月 21, 2020 7:26:38 下午 org.apache.coyote.AbstractProtocol start
信息: 开始协议处理句柄["http-nio-8888"]
1月 21, 2020 7:26:38 下午 org.apache.coyote.AbstractProtocol start
信息: 开始协议处理句柄["ajp-nio-8889"]
1月 21, 2020 7:26:38 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in [810] milliseconds
1月 21, 2020 7:27:04 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: 在路径为[/PetSys]的上下文中,servlet[PetServlet]的Servlet.service()引发异常
java.lang.NullPointerException
at servlet.PetServlet.doPost(PetServlet.java:28)
at servlet.PetServlet.doGet(PetServlet.java:19)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at servlet.EncodingFilter.doFilter(EncodingFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:830)
...全文
5538 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
package web.servlet; import service.UserService; import service.impl.UserServiceImpl; import org.apache.commons.beanutils.BeanUtils; import domain.User; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Map; /* * 登录功能的实现 */ @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.设置编码 request.setCharacterEncoding("utf-8"); //2.获取数据 //2.1获取用户填写验证码 String verifycode = request.getParameter("verifycode"); //3.验证码校验 HttpSession session = request.getSession(); String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER"); session.removeAttribute("CHECKCODE_SERVER");//确保验证码一次性 if(!checkcode_server.equalsIgnoreCase(verifycode)){ //验证码不正确 //提示信息 request.setAttribute("login_msg","验证码错误!"); //跳转登录页面 request.getRequestDispatcher("/login.jsp").forward(request,response); return; } Map<String, String[]> map = request.getParameterMap(); //4.封装User对象 User user = new User(); try { BeanUtils.populate(user,map); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //5.调用Service查询 UserService service = new UserServiceImpl(); User loginUser = service.login(user); //6.判断是否登录成功 if(loginUser != null){ // //登录成功 // //将用户存入session // session.setAttribute("user",loginUser); if (loginUser.getIdentity()=="管理员") { //将用户存入session session.setAttribute("user",loginUser); //跳转页面 response.sendRedirect(request.getContextPath()+"/index_manager.jsp"); }else if (loginUser.getIdentity()=="医生") { //将用户存入session session.setAttribute("user",loginUser); //跳转页面 response.sendRedirect(request.getContextPath()+"/index_doctor.jsp"); }else { //将用户存入session session.setAttribute("user",loginUser); //跳转页面 response.sendRedirect(request.getContextPath()+"/index.jsp"); } } else{ //登录失败 //提示信息 request.setAttribute("login_msg","用户名或密码错误!"); //跳转登录页面 request.getRequestDispatcher("/login.jsp").forward(request,response); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } } 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: Server.服务器版本: Apache Tomcat/9.0.33 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: 服务器构建: Mar 11 2020 09:31:38 UTC 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: 服务器版本号(:9.0.33.0 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: OS Name: Windows 10 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: OS.版本: 10.0 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: 架构: amd64 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: Java 环境变量: C:\Program Files\Java\jdk-13.0.2 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: JVM 版本: 13.0.2+8 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: JVM.供应商: Oracle Corporation 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: CATALINA_BASE: D:\Java\javastudy\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: CATALINA_HOME: D:\A_Programming\apache-tomcat-9.0.33-windows-x64\apache-tomcat-9.0.33 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dcatalina.base=D:\Java\javastudy\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dcatalina.home=D:\A_Programming\apache-tomcat-9.0.33-windows-x64\apache-tomcat-9.0.33 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dwtp.deploy=D:\Java\javastudy\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.VersionLoggerListener log 信息: Command line argument: -Dfile.encoding=UTF-8 4月 22, 2020 1:16:48 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息: Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0]. 4月 22, 2020 1:16:48 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 4月 22, 2020 1:16:48 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息: APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 4月 22, 2020 1:16:48 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL 信息: OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019] 4月 22, 2020 1:16:48 下午 org.apache.coyote.AbstractProtocol init 信息: 初始化协议处理器 ["http-nio-8080"] 4月 22, 2020 1:16:48 下午 org.apache.catalina.startup.Catalina load 信息: 服务器在[1,120]毫秒内初始化 4月 22, 2020 1:16:48 下午 org.apache.catalina.core.StandardService startInternal 信息: Starting service [Catalina] 4月 22, 2020 1:16:48 下午 org.apache.catalina.core.StandardEngine startInternal 信息: 正在启动 Servlet 引擎:[Apache Tomcat/9.0.33] 4月 22, 2020 1:16:49 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom 警告: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [279] milliseconds. 4月 22, 2020 1:16:50 下午 org.apache.jasper.servlet.TldScanner scanJars 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 4月 22, 2020 1:16:51 下午 org.apache.coyote.AbstractProtocol start 信息: 开始协议处理句柄["http-nio-8080"] 4月 22, 2020 1:16:51 下午 org.apache.catalina.startup.Catalina start 信息: Server startup in [2,067] milliseconds 4月 22, 2020 1:16:51 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: 在路径为[/HospitalSystem]的上下文中,servlet[web.servlet.LoginServlet]的Servlet.service()引发异常 java.lang.NullPointerException at web.servlet.LoginServlet.doPost(LoginServlet.java:38) at web.servlet.LoginServlet.doGet(LoginServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:830) 同问,
心怀啊 2020-01-22
  • 打赏
  • 举报
回复
opr.equals("pet"),这段代码如果opr未获取到值则会报空指针,应该pet与opr位置互换

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧