У меня есть сервлет под названием DBChart
, отображаемый на url /db
. Сервлет выводит некоторые данные на основе SQL-запроса, используемого здесь.Динамический SQL с сервлетами
Что у меня есть:
На стороне клиента, я сделав Ajax вызов, как это:
$.ajax({
type : 'POST',
async: false,
url : 'http://localhost:8080/DBCHART/db',
success : function(data) {/*some code*/})
и На стороне сервера, статический запрос, который говорит:
String sql ="select * from Employee"
Что я хочу: Я хочу, чтобы иметь возможность передавать некоторые параметры здесь:
url: http://localhost:8080/DBCHART/db?Name = 'xyz'?Age = 21
и на стороне сервера, запрос в данном случае должно стать:
select * from Employee where Name ='xyz' and Age = 21
т.е. только если эти параметры были supllied в противном случае она должна оставаться
select * from Employee
Могу ли я, пожалуйста, получить некоторые направление для создания динамического sql для этого эффективно?
Этот ответ идет в правильном направлении, но он ошибочен из-за секретных проблем. Он упоминает параметризованные запросы, но образцы кода не используют их. Примером является _crazy-уязвимость_ для инъекционных атак. -1 –
@JoelCoehoorn: Как я могу преодолеть такие уязвимости? Могу ли я иметь что-то в этом направлении, пожалуйста? –
@Raushan: Как вынуть varName и varAge из этой строки? –