📄 updateservlet.java
字号:
package com.nearhills.servlets;
import java.io.IOException;
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.nearhills.BadDataException;
import com.nearhills.ClubMember;
import com.nearhills.NoSessionException;
/**
* @version 1.0
* @author
*/
public class UpdateServlet extends HttpServlet {
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
HttpSession session = req.getSession(false);
if ( session == null ) {
throw new NoSessionException(
"No session: " +
"have you registered or Logged in?" );
}
RequestDispatcher rd = getServletContext().
getRequestDispatcher("/update.jsp");
rd.forward( req, resp );
} catch ( Exception e ) {
req.setAttribute( "exception", e );
RequestDispatcher rd = getServletContext().
getRequestDispatcher(
"/errorReport.jsp" );
rd.forward( req, resp );
}
}
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
if ( ! req.isRequestedSessionIdValid() ) {
throw new NoSessionException(
"This http request has no valid session." );
}
HttpSession session = req.getSession();
ClubMember skier = checkNewData( req, session );
skier.update();
session.setAttribute( "member", skier );
confirmUpdate( req, resp );
} catch( BadDataException e ) {
req.setAttribute( "message", e.getMessage() );
RequestDispatcher rd = getServletContext().
getRequestDispatcher(
"/badinputMessage.jsp" );
rd.forward( req, resp );
} catch( Exception e ) {
req.setAttribute( "exception", e );
RequestDispatcher rd = getServletContext().
getRequestDispatcher(
"/errorReport.jsp" );
rd.forward( req, resp );
}
return;
}
private ClubMember checkNewData(
HttpServletRequest req, HttpSession session )
throws BadDataException
{
boolean change = false;
ClubMember skier = (ClubMember) session.
getAttribute( "member" );
if ( ! skier.getFirstName().equals(
req.getParameter( "FNAME" ) ) ) {
skier.setFirstName(
req.getParameter( "FNAME" ) );
change = true;
}
if ( ! skier.getMiddleName().equals(
req.getParameter( "MNAME" ) ) ) {
skier.setMiddleName(
req.getParameter( "MNAME" ) );
change = true;
}
if ( ! skier.getLastName().equals(
req.getParameter( "LNAME" ) ) ) {
skier.setLastName(
req.getParameter( "LNAME" ) );
change = true;
}
if ( ! skier.getPhoneNumber().equals(
req.getParameter( "PHONE" ) ) ) {
skier.setPhoneNumber(
req.getParameter( "PHONE" ) );
change = true;
}
if ( ! skier.getAbility().equals(
req.getParameter( "ABILITY" ) ) ) {
skier.setAbility(
req.getParameter( "ABILITY" ) );
change = true;
}
if ( ! change ) {
throw new BadDataException(
"No changes requested." );
}
return skier;
}
public void confirmUpdate( HttpServletRequest req,
HttpServletResponse res )
throws IOException, ServletException
{
try {
RequestDispatcher rd = getServletContext().
getRequestDispatcher("/memberHome.jsp");
rd.forward( req, res );
} catch ( Exception e ) {
req.setAttribute( "exception", e );
RequestDispatcher rd = getServletContext().
getRequestDispatcher(
"/errorReport.jsp" );
rd.forward( req, res );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -