SEVERE: 경로 [/test]의 컨텍스트 내의 서블릿 [com.project.item.control.ItemFrontCtl]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [서블릿 실행이 예외를 발생시켰습니다.]을(를) 발생시켰습니다.

java.lang.Error: Unresolved compilation problem:

the type javax.servlet.http.httpservletrequest cannot be resolved. it is indirectly referenced from required .class file

The method parseRequest(HttpServletRequest) from the type ServletFileUpload refers to the missing type HttpServletRequest

 

git에서 프로젝트를 불어왔으나 뭔가 안 맞아서 에러발생

이거저거 만지다가 프로젝트 새로 생성해서 내용물만 복사

된는가 싶더니 서버를 통해 디비와 데이터 교환을 시도하면 위와 같은 에러 발생

프로젝트 clean부터해서 이거저거 다 찾아봤다..

환경변수부터시작해서 다 뒤져봤지만 안 되다가 

처음에 프로젝트 불어왔을때  commons 라이브러리를 포함 외부라이브러리 인식이 안되는 줄 알고 

모듈패스에 추가를 해줬었었는데 이걸 잊고 있었다....

난 모듈패스가  프로젝트에 국한되서 적용된다는 건줄 알았는데 

찾아보니 전혀 다름

기본에 충실해야하는데,,학원에서 내어준 프로젝트하기에 급급해서리

어서 마무리하고 세팅 값들이 의미하는 것부터 하나씩 다시 공부를 해야겠다

쨋든 JRE빼고 모듈패스에 추가된거 모두 삭제했더니 정상 ~

이렇게 지식이 하나 추가돼었음

https://whitekeyboard.tistory.com/849

 

[Eclipse] Modulepath vs Classpath

ModulePath, ClassPath 이 둘의 차이는 뭔지 궁금하게 된 계기가 이클립스 버전을 높이면서 BuildPath를 설정중이었는데 Eclipse 구버전에는 그냥 두 개 구분없이 일렬로 나왔었는데, 최신 버전을 받으니

whitekeyboard.tistory.com

 

'Tools > Eclipse' 카테고리의 다른 글

톰캣구조  (0) 2022.08.16

AutoCompleteTextView

java.lang.Object
  ↳ android.view.View
    ↳ android.widget.TextView
      ↳ android.widget.EditText
        ↳ android.widget.AutoCompleteTextView

EditText 속성에 자동완성 기능을 추가한뷰

몇 글자를 입력했을때 보여줄지를 지정하는 속성, 리스트형태로 보여줄 문자열이 미리 정의되어있어야함

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <AutoCompleteTextView
        android:id="@+id/edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:completionHint="pick an item"
        android:completionThreshold="2" />

</LinearLayout>

completionHint : 문자열 리스트 하단에 표시할 문자열

completionThreshold : 입력한 글자가 몇 글자일때 문자열 리스트를 보여줄지 지정

 

package com.androidside.autocompletetextviewdemoa1;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class Main extends Activity {
    String[] items = { "SM3", "SM5", "SM7", "SONATA", "AVANTE", "SOUL", "K5",
            "K7" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        AutoCompleteTextView edit = (AutoCompleteTextView) findViewById(R.id.edit);

        edit.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, items));
    }
}

자동완성시킬 문자열들은 ArrayAdapter를 사용해서 .java 에 설정

android.R.layout.simple_dropdown_item_1line : 문자열을 보여주는 리스트 모양

 

-----

MultiAutoCompleteTextView

java.lang.Object
  ↳ android.view.View
     ↳ android.widget.TextView
       ↳ android.widget.EditText
         ↳ android.widget.AutoCompleteTextView
           ↳ android.widget.MultiAutoCompleteTextView

여러개의 단어 완성

토크나이저 설정필요(쉼표로 단어구분)

<MultiAutoCompleteTextView
    android:id="@+id/edit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:completionHint="pick an item"
    android:completionThreshold="2" />
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;

public class Main extends Activity {
    String[] items = { "SM3", "SM5", "SM7", "SONATA", "AVANTE", "SOUL", "K5",
            "K7" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MultiAutoCompleteTextView edit = 
                (MultiAutoCompleteTextView) findViewById(R.id.edit);
        edit.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
        edit.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, items));
    }
}

CommaTokenizer : 쉼표로 구분, 다른문자로 구분하고자한다면 만들어야함

 

+ Recent posts