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)
uj5u.com熱心網友回復:
opr.equals("pet"),這段代碼如果opr未獲取到值則會報空指標,應該pet與opr位置互換uj5u.com熱心網友回復:
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)
同問,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/86136.html
標籤:Eclipse
