location: 새창이 필요 없는 경우open: 새창이 필요한 경우
<div>
<button id="btn1">링크1</button>
<button id="btn2" data-name="손석구">링크2</button>
</div>
<script src="../js/jquery-3.6.1.min.js"></script>
<script>
$('#btn1').on('click', function(event) {
// location.href = '/01_Servlet/LocationServlet';
open('/01_Servlet/LocationServlet'); // open(url, [name], [features])
});
$('#btn2').click(function(event) {
location.href = '/01_Servlet/LocationServlet?param=' + $(this).data('name');
});
</script>
링크1 버튼과 링크2 버튼을 만들었다.

@WebServlet("/LocationServlet")
public class LocationServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 요청
request.setCharacterEncoding("UTF-8");
String param = request.getParameter("param");
// 응답
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<h1>Hello World</h1>");
out.println("<h1>안녕하세요 " + param + "님</h1>");
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
링크 1
새로운 창이 열린다.

링크 2
창은 그대로인 상태에서 동작한다.
