2.1 HttpServletRequest வகுப்பு
கோரிக்கையிலிருந்து பெறப்பட்ட தகவலின் அடிப்படையில் உங்கள் சர்வ்லெட் செய்ய வேண்டிய பெரும்பாலான வேலைகள். பொருள் அதற்குப் பொறுப்பாகும் HttpServletRequest
, கொள்கலன் உங்கள் சர்வ்லெட்டுக்கு அனுப்பப்படும் (முறை service
அல்லது முறைகள் doGet()
போன்றவை doPost()
)
இந்த பொருள் சில முறைகளைக் கொண்டுள்ளது, ஏனெனில் இது கோரிக்கைத் தரவைச் சேமிக்கிறது, மேலும் அதன் மூலம் நீங்கள் கொள்கலனுடன் தொடர்பு கொள்ளலாம்.
முறைகளை 2 பெரிய குழுக்களாக பிரிக்கலாம்:
- பயனர் அங்கீகாரம் தொடர்பான முறைகள்
- கோரிக்கை தரவுகளுடன் பணிபுரியும் முறைகள்
பயனர் அங்கீகார முறைகளை அட்டவணை வடிவில் தருகிறேன், ஆனால் அவற்றை நாங்கள் பகுப்பாய்வு செய்ய மாட்டோம். உண்மை என்னவென்றால், அவை ஒரு பயனரை அங்கீகரிக்க மிகவும் அரிதாகவே பயன்படுத்தப்படுகின்றன. அனைத்து பிரபலமான கட்டமைப்புகளும் அங்கீகாரத்திற்கு அவற்றின் சொந்த, மிகவும் மேம்பட்ட அணுகுமுறைகளைப் பயன்படுத்துகின்றன.
நான் அவற்றை பட்டியலிட வேண்டும், ஆனால் மீண்டும், யாரும் அவற்றைப் பயன்படுத்துவதை நான் பார்க்கவில்லை.
முறை | விளக்கம் | |
---|---|---|
1 | authenticate(HttpServletResponse) |
பதில் அங்கீகாரத்தை செய்கிறது |
2 | changeSessionId() |
அமர்வு ஐடியை வலுக்கட்டாயமாக மாற்றவும் |
3 | getAuthType() |
பயன்படுத்தப்படும் அங்கீகார வகையை வழங்குகிறது: ASIC_AUTH, FORM_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH |
4 | getRemoteUser() |
பயனர் உள்நுழைவை வழங்குகிறது |
5 | getRequestedSessionId() |
கிளையண்டின் SessionID ஐ வழங்கும் |
6 | getSession() |
HttpSession பொருளை வழங்கும் |
7 | getUserPrincipal() |
java.security.முதன்மைப் பொருளைத் தருகிறது |
8 | login(username, password) |
பயனர் உள்நுழைவைச் செய்கிறது |
9 | logout() |
பயனர் அமர்விலிருந்து வெளியேறுகிறது |
2.2 தரவு கோரிக்கை
இரண்டாவது குழு முறைகள் மிகவும் சுவாரஸ்யமானவை. கோரிக்கையில் எங்களிடம் என்ன வகையான தரவு உள்ளது?
- http முறை
- URI
- விருப்பங்கள்
- தலைப்புகள்
அவர்களுடன் பணிபுரிய என்ன முறைகள் உள்ளன என்பதைப் பார்ப்போம்:
முறை | விளக்கம் | |
---|---|---|
1 | getMethod() |
HTTP முறையை வழங்குகிறது: GET, POST, DELETE, ... |
2 | getRequestURI() |
கோரிக்கை URI ஐ வழங்கும்: http://codegym.cc/my/data |
3 | getRequestURL() |
கோரிக்கை URL ஐ வழங்கும்: http://codegym.cc/my/data |
4 | getQueryString() |
ரிட்டர்ன்ஸ் வினவல், அதாவது க்குப் பிறகு எல்லாம்? |
5 | getParameterMap() |
வினவல் அளவுருக்களின் பட்டியலை வழங்கும் |
6 | getParameter(String name) |
அளவுருவின் மதிப்பை அதன் பெயரால் வழங்கும் |
7 | getContentType() |
MimeType கோரிக்கை உள்ளடக்கத்தை வழங்குகிறது |
8 | getReader() |
கோரிக்கையின் உள்ளடக்கத்தை உரையாகப் படிக்க வாசகர் |
9 | getInputStream() |
கோரிக்கையின் உள்ளடக்கத்தை பைட்டாக படிக்க உள்ளீடு ஸ்ட்ரீம்[] |
10 | getSession() |
HttpSession பொருளை வழங்கும் |
பதினொரு | getCookies() |
குக்கீ[] பொருள்களின் வரிசையை வழங்குகிறது |
12 | getHeaderNames() |
தலைப்புகள், பெயர்கள் மட்டும் பட்டியலை வழங்கும் |
13 | getHeader(String name) |
பெயரின்படி தலைப்பு மதிப்பை வழங்கும் |
14 | getServletPath() |
சர்வ்லெட்டைக் குறிக்கும் URL இன் பகுதியை வழங்குகிறது |
15 | getContextPath() |
கோரிக்கையின் உள்ளடக்கத்தைக் குறிப்பிடும் URI இன் பகுதியை வழங்குகிறது |
அது எல்லா முறைகளும் கூட இல்லை ...
நாம் HTTP நெறிமுறையைப் படித்து, HttpClient உடன் எவ்வாறு வேலை செய்வது என்று கற்றுக்கொண்ட பிறகு, எல்லாம் இங்கே அதிகமாகவோ அல்லது குறைவாகவோ தெரிந்திருக்கிறது, இல்லையா?
உரை மற்றும் வண்ணத்தை அனுப்பக்கூடிய ஒரு சர்வ்லெட்டை எழுதுவோம், மேலும் அது குறிப்பிட்ட வண்ணத்தில் எழுதப்பட்ட உரையுடன் ஒரு HTML பக்கத்தை வழங்கும். நீங்கள் யோசனையை எப்படி விரும்புகிறீர்கள்?
எங்கள் சர்வ்லெட்டை எழுதுவதன் மூலம் தொடங்குவோம்:
public class ColorTextServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
//write your code here
}
}
இப்போது நாம் URI இலிருந்து உரை மற்றும் வண்ணத்தை பயனரால் அனுப்ப வேண்டும்:
public class ColorTextServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
// Getting the parameter “text” and “color” from request
String text= request.getParameter("text");
String color = request.getParameter("color");
}
}
இறுதியாக, நீங்கள் உரையை HTML ஆக வெளியிட வேண்டும். அடுத்த விரிவுரையில் இதைப் பற்றி பேசுவோம், ஆனால் இங்கே நான் ஒரு சிறிய குறிப்பை தருகிறேன்:
public class ColorTextServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
// Get the "text" and "color" parameters from the request
String text = request.getParameter("text");
String color = request.getParameter("color");
// Print the HTML as a response to the browser
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head> <title> ColorTextServlet </title> </head>");
out.println("<body>");
out.println("<h1 style="color:"+color+">"+text+"</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
}
GO TO FULL VERSION