Java로 구현하는 게 좋아요.
출력이 끊임없이 좋기 때문에 처음으로 공개적으로 만든 좋은 응용 프로그램입니다.
VC 모형으로 제작되었습니다.
개요
사진을 클릭하시면 됩니다!에서 설명한 대로 해당 매개변수의 값을 수정합니다.
값은 응용 프로그램 역할 영역에 저장됩니다.
https://iineko.herokuapp.com
힘든 곳
1. HTML에서 화면 이동을 하지 않고 값을 보내는 방법을 몰라 고민이다.
화면 마이그레이션 없이 HTML로 값을 보내는 방법
2. 좋아요를 눌러도 1을 넘지 않습니다.
매번 칭찬을 받을 때마다 new라서 첫 시동 판정을 했습니다.
3. 유형을 뛰어넘어 실례를 전달하는 방법을 모른다.
YoineServelet.자바로
Yoine y = new Yoine();
그리고.YoineLogic.자바로
Yoine y
좋아요 하나 더.Yoine.자바에 설치하고 싶어요.
Yoine Servelet에서 new, Yoine Logic에서 new가 다른 실례가 되면 어떻게 해야 할지 고민이에요.
↓
YoineLogic은 매개변수로 Yoine 유형을 수용합니다.
소스 코드
model
Yoine.java
package model;
import java.io.Serializable;
public class Yoine implements Serializable {
private int yoineCount = 0;
public void setYoineCount(int yoineCount) {
this.yoineCount = yoineCount;
}
public int getYoineCount() {
return yoineCount;
}
}
YoineLogic.javapackage model;
public class YoineLogic {
public void yoinePlus(Yoine y) {
int count = y.getYoineCount();
count++;
y.setYoineCount(count);
}
}
View
yoineView.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
<!--
div.ta0 {text-align: left;}
div.ta1 {text-align: center;}
div.ta2 {text-align: right;}
div.ta3 {text-align: justify;}
-->
</style>
<title>いいねこ!!!</title>
</head>
<body>
<div class="ta1">
<p><a href="/iine/YoineServlet?action=yoine">
<img src="/iine/finger-163689_640.jpg" alt="いいね!" width="300" height="200"></a>
<a href="/iine/YoineServlet?action=yoine">
<img src="/iine/2cat-323262_1280.jpg" alt="いいね!" width="300" height="200"></a>
</p>
<p><font size="5"><b>いいねこ!:${yoine.yoineCount}</b></font></p>
</div>
</body>
</html>
Controller
YoineServlet.java
package servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Yoine;
import model.YoineLogic;
/**
* Servlet implementation class YoineServlet
*/
@WebServlet("/YoineServlet")
public class YoineServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public YoineServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 初回起動を判定するための処理
// アプリケーションスコープから値を取得
ServletContext sc = this.getServletContext();
Yoine y = (Yoine) sc.getAttribute("yoine");
// 初回起動判定の続き
// アプリケーションスコープに値がなければnewする
if(y == null) {
y = new Yoine();
sc.setAttribute("yoine", y);
}
// リクエストパラメーターの取得
request.setCharacterEncoding("UTF-8");
String yoine = request.getParameter("action");
// いいねボタン押されたら
if (yoine != null) {
// YoineLogicでいいねを加算
YoineLogic yl = new YoineLogic();
yl.yoinePlus(y);
// いいねの数をアプリケーションスコープに保存
sc.setAttribute("yoine", y);
}
// フォワード
RequestDispatcher rd = request.getRequestDispatcher("/yoineView.jsp");
rd.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
Reference
이 문제에 관하여(Java로 구현하는 게 좋아요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/parapore/items/f0ec8fd75fcf42ddafee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)