Jam's story
[JSP] 입력한 정수만큼의 합을 출력 , 계산기만들기 본문
var pattrn=/^\d+$/; //처음부터 끝까지 다 숫자
<form action=""> <!-- action에 안적으면 자기자신페이지 불러옴 -->
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String strNum=request.getParameter("num");
int n;
if(strNum==null){
n=0;
}else{
n=Integer.parseInt(strNum);
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="shortcut icon" type="image/x-icon" href="../images/SiSt.ico">
<title>2022. 6. 19.-오후 4:17:04</title>
</head>
<body>
<h3></h3>
<script>
$(document).ready(function(){
$("input:first").focus().select();
$("form").submit(function(event){
var pattrn=/^\d+$/; //처음부터 끝까지 다 숫자
if(pattern.test($("#num").val())){
return;
}else{
$("span").text("not valid")
.css("color","red")
.show()
.fadeOut(3000);
event.preventDefault();
}
});
});
</script>
<form action=""> <!-- action에 안적으면 자기자신페이지 불러옴 -->
정수입력:<input type="text" id="num" name="num">
<br>
<span></span>
</form>
<%
int sum=0;
for(int i=1; i<=n; i++){
if(i==n){
out.print(i);
}else{
out.append(i+"+");
}
sum+=i;
}
out.append("="+sum);
%>
</body>
</html>
이렇게 바꿀 수 있다.
<%
if(strNum!=""){
n= Integer.parseInt(strNum);
int sum=0;
for(int i=1; i<=n; i++){
if(i==n){
%><%= i %><% /
}else{
%><%= i %>+<%
}
sum+=i;
}//for
//out.append("="+sum);
%>=<%=sum %><%
} //if
%>
<script>
$(":text").first().click(function(event) { })
$(":text:first-of-type").click(function(event) { })
$(":text").eq(0).click(function(event) { })
$(":text").last().click(function(event) { })
$(":text:nth-of-type(2)").click(function(event) { })
$(":text:nth-last-of-type(1)").click(function(event) { })
$(":text").eq(1).click(function(event) { })
$("form").find(":text").eq(1).click(function(event) { })
</sript>
form 태그가 없다면 ???
form태그 안에 입력값들이 있어야 submit 되지만 form태그가 없다면 파라미터 값을 달아서 보내야 한다.
form 태그없이 a태그를 통해 링크 전달
서블릿만들기
re01.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="shortcut icon" type="image/x-icon" href="../images/SiSt.ico">
<title>2022. 6. 19.-오후 7:49:25</title>
</head>
<body>
<h3></h3>
<script>
$(function(){
$("form").submit(function(event){
$(this).attr("action","http://localhost/jspPro/review");
});
});
</script>
<div>
<form action="" method="post">
Name:<input type="text" id="name" name="name" autofocus="autofocus">
<br>
Age:<input type="text" id="age" name="age">
<button type="submit">전송</button>
</form>
</div>
</body>
</html>
review.java 서블릿 어노테이션 줌
package prac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class review
*/
@WebServlet("/review")
public class review extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public review() {
super();
// TODO Auto-generated constructor stub
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html; charset=UTF-8");
PrintWriter out =resp.getWriter();
out.append("service");
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
/*
* protected void doGet(HttpServletRequest request, HttpServletResponse
* response) throws ServletException, IOException { // TODO Auto-generated
* method stub
* response.getWriter().append("Served at: ").append(request.getContextPath());
* }
*
*//**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*//*
* protected void doPost(HttpServletRequest request, HttpServletResponse
* response) throws ServletException, IOException { // TODO Auto-generated
* method stub doGet(request, response); }
*/
}
web.xml을 작성한다면
<servlet>
<servlet-name>review</servlet-name>
<servlet-class>prac.review</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>review</servlet-name>
<url-pattern>/review</url-pattern>
</servlet-mapping>
한글이 깨질때는
request.setCharacterEncoding("UTF-8"); //추가 (읽어올 때 인코딩)
response.setContentType("text/html; charset=UTF-8");
예)
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); //추가 (읽어올 때 인코딩)
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
Date now = new Date();
out.append(String.format(">name:%s <br> >age:%d <br> >now:%s"
, name, age, now.toLocaleString()));
}
'JSP' 카테고리의 다른 글
[JSP] 에러처리 (0) | 2022.06.20 |
---|---|
[JSP] 파라미터 처리하는 메소드 (0) | 2022.06.20 |
[JSP] method "get" 과 "post"의 차이 (0) | 2022.06.19 |
[JSP] 서블릿과 서블릿 맵핑 (0) | 2022.06.19 |
[JSP] 자동 import -> shift+ctrl+o 작동 안할때 (0) | 2022.06.19 |
Comments