☞ Text 태그 : 문장 한 줄을 입력함
type="text" <input type="text" name="aaa" size="50" maxlength="10" value="기본값"> <br>
text 태그를 생성, 태그의 이름은 "aaa", 태그의 표시 행수=50줄, 최대로 입력할 수 있는 문자길이=10, 초기값="기본값"

☞ Password 태그 : 암호를 입력할 때 사용함
type="password" <input type="password" name = "pwd"><br> <!--password는 한글입력 불가능 -->

☞ Checkbox 태그 : 체크박스 형태로 값을 선택함
type="checkbox" <input type="checkbox" name = "chk" value="chkvalue">

<label>
영화감상 <input type="checkbox" name ="hobby" value="영화감상">
</label>
<label>
음악감상 <input type="checkbox" name ="hobby" value="음악감상">
</label>
<label>
독서 <input type="checkbox" name ="hobby" value="독서">
</label>

☞ Radio 태그 : 동일한 이름을 가진 것들 중에서 하나만 선택함
<label for="yes"> </label> yes : <input type="radio" name="yesno" value="yes" id="yes">
no : <input type="radio" name="yesno" value="no">

☞ File 태그 : 파일을 선택할 수 있는 창이 나타남. 파일 업로드 시 이용
type="file" <input type="file" name="upfile">

☞ Reset 태그 : 폼에 기술한 내용들을 초기 값으로 변경함
type="reset" <input type="reset" value="초기화버튼">

☞ Submit 태그 : 폼에서 기술한 내용을 웹으로 전송함
type="submit" <input type="submit" value="전송버튼">

☞ Button 태그 : 클릭할 수 있는 버튼을 사용함
type="button" <input type="button" value="일반버튼" onclick="alert('클릭되었다')">

<table></table> : 브라우저에게 이 안의 내용이 테이블 형태로 정렬될 것임을 알려준다.
<tr></tr>: 가로줄의 갯수
<td></td> : 테이블, 셀, 행 안의 독립된 공간
package servlet.form;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CalculatorServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
//구현
String op1 = request.getParameter("value1");
String op2 = request.getParameter("value2");
String operator = request.getParameter("calculator");
double operand1 = 0.0;
double operand2 = 0.0;
double result =0.0;
//숫자로 바꿀수 없는 값을 넣을 경우를 대비하여 NumberFormatException 처리
try {
operand1 = Double.parseDouble(op1);
} catch(NumberFormatException n) {
n.printStackTrace();
}
try {
operand2 = Double.parseDouble(op2);
} catch(NumberFormatException n) {
n.printStackTrace();
}
if(operator.equals("+")) {
result = operand1 + operand2;
}
else if(operator.equals("-")) {
result = operand1 - operand2;
}
else if(operator.equals("x")) {
result = operand1 * operand2;
}
else if(operator.equals("/")) {
if(operand2 != 0) {
result = operand1 / operand2;
}
}
//응답
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html><head><title>계산결과</title></head><body>");
out.println(operand1+ " " + operator + " " + operand2+ " = " + result);
out.println("<br><a href='/myweb/form/calculator.html'>계산하기</a>"); //절대경로 /
out.println("</body></html>");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>calculator</servlet-name>
<servlet-class>servlet.form.CalculatorServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>calculator</servlet-name>
<url-pattern>/calculator</url-pattern>
</web-app>
package servlet.form;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet{
private String memberId = "java";
private String memberPwd = "servlet";
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
String memId = request.getParameter("id");
String mempwd = request.getParameter("pwd");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
if(memId.equals(memberId) && mempwd.equals(memberPwd)) {
out.println("<html><head><title>로그인 화면</title></head><body>");
out.println("로그인에 성공했습니다.<br>");
out.println("</body></html>");
}
else {
out.println("<html><head><title>로그인 화면</title></head><body>");
out.println("ID나 Password가 적합하지 않습니다.");
out.println("<br><a href='/myweb/form/login_form'>Login</a>"); //절대경로 /
out.println("</body></html>");
}
}
}