22.04.19春掲示板クリック率アップ/会員加入、ログ人気

39795 ワード

展示期間中に作成された特定投稿の表示機能----->POJOでは、投稿を表示するたびにクリック率が計算されます



インタフェース

public void count(int idx);

xml(SQL文作成部)

<update id="count" parameterType="int"> update board set count = count + 1 where idx = #{idx} </update>count column+1で演算すればいい!
サーバから投稿を受信したため、ブラウザの戻るボタンとは異なります.
  • POJOで交換可能な部分
    @Autowired>>>Injectの意味は同じです
    メソッド名がスプリングの戻り名と同じ場合は省略できます.void
  • に変換
  • インタフェースでもこのように変更できます.@Select("select * from board order by indate desc") public List<BoardVO> boardList(); // 위의 어노테이션을 수행한다는 의미 ,,Javaにはsql文があるので、良い方法ではありません
    xmlはコンパイルできないので、後で簡単に変更できます-->
    (クラスからクラスファイルへの結合度を低減することにより)

  • これ.

    かわる

    スプリング登録機能の実装

  • 新しいテーブルから新しいVO、Mapper(インタフェース)、Controller(POJO)を作成

  • sqlに新しいメンバーテーブルを追加するには!



    任意の値を挿入して確認~

    viewフォルダに新しいjspファイルloginを作成します。jsp


    <%@page import="java.util.ArrayList"%>
    <%@page import="kr.smhrd.mapper.BoardVO"%>
    <%@page import="java.util.List"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet"
    	href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <script
    	src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script
    	src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <title>게시판</title>
    </head>
    <body>
    	<div class="container">
    		<h2>Spring MVC Member</h2>
    		<div class="panel panel-default">
    			<div class="panel-heading">Login Insert</div>
    			<div class="panel-body">
    				<form class="form-horizontal" method="post" action="LoginSelect.do">
    					<table style="width:400px; text-align: center; margin: auto;" class="table table-hover table-bordered">
    						<tr>
    						 	<td>아이디</td>
    						 	<td><input class="form-control" type="text" name="id"> </td>
    						</tr>
    						<tr>
    							<td>비밀번호</td>
    							<td><input class="form-control" type="password" name="pw"> </td>
    						</tr>
    						<tr>
    							<td colspan="2">
    								<a href="join.do">아직 회원이 아니시면 여기를 클릭해주세요.</a>
    								<br>
    								<button type="reset" class="btn btn-success btn-sm">취소</button>
    								<button type="submit" class="btn btn-info btn-sm">로그인</button>
    							</td>
    						
    						</tr>	
    					</table>
    				</form>
    
    			</div>
    			<div class="panel-body">지능형 IoT </div>
    		</div>
    	</div>
    </body>
    </html>
  • ここを押すときに動くコントローラ!!
  • を作成

    MemberController



    必ず
  • 説明
  • を書きます

    Join(会員登録ページ)


    <%@page import="java.util.ArrayList"%>
    <%@page import="kr.smhrd.mapper.BoardVO"%>
    <%@page import="java.util.List"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet"
    	href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <script
    	src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script
    	src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <title>게시판</title>
    </head>
    <body>
    	<div class="container">
    		<h2>Spring MVC Member</h2>
    		<div class="panel panel-default">
    			<div class="panel-heading">Join Insert</div>
    			<div class="panel-body">
    				<form class="form-horizontal" method="post" action="joinInsert.do">
    					<table style="width:400px; text-align: center; margin: auto;" class="table table-hover table-bordered">
    					<!-- join.jsp에서 회원정보 입력시 회원정보 joinInsert.do로 넘어감 
    					joinInsert.do 요청받는 곳에서 받아들인 회원정보를 회원가입시키시오!
    					회원가입 완료시 login.jsp로 이동
    					MemberVO, MemberMapper.java, MemberMapper.xml -->
    						<tr>
    						 	<td>아이디</td>
    						 	<td><input class="form-control" type="text" name="id"> </td>
    						</tr>
    						<tr>
    							<td>비밀번호</td>
    							<td><input class="form-control" type="password" name="pw"> </td>
    						</tr>
    						<tr>
    							<td>닉네임</td>
    							<td><input class="form-control" type="text" name="nick"> </td>
    						</tr>
    						<tr>
    							<td>전화번호</td>
    							<td><input class="form-control" type="text" name="phone"> </td>
    						</tr>
    						<tr>
    							<td colspan="2">
    								<button type="reset" class="btn btn-success btn-sm">취소</button>
    								<button type="submit" class="btn btn-info btn-sm">회원가입</button>
    							</td>
    						
    						</tr>	
    					</table>
    				</form>
    
    			</div>
    			<div class="panel-body">지능형 IoT </div>
    		</div>
    	</div>
    </body>
    </html>

    MemberController



    リダイレクトの理由:転送方式は直接接続のURLを取得し、

    memberVO

    package kr.smhrd.mapper;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import lombok.ToString;
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @ToString
    
    public class MemberVO {
    	private String id;
    	private String pw;
    	private String nick;
    	private String phone;
    }
    
  • レンフォルapi
  • を使用

    マッパ(インタフェース)

    package kr.smhrd.mapper;
    
    import org.apache.ibatis.annotations.Mapper;
    
    @Mapper
    
    public interface MemberMapper {
    
    	public void joinInsert(MemberVO vo);
    	
    	
    }
    
    記入
  • 説明
  • MyBatis.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="kr.smhrd.mapper.MemberMapper">
        <insert id="joinInsert" parameterType="kr.smhrd.mapper.MemberVO">
            insert into member values(#{id},#{pw},#{nick},#{phone})
        </insert>
        
        
        
    </mapper>
  • パラメータタイプ州の
  • namespace="kr.smhrd.mapper.MemberMapper"インタフェースの場所!注意