Установка сообщения об ошибке и тела сервлета

Я хочу написать сервлет, который будет возвращать HTTP-ответ, например:

HTTP/1.1 500 <short custom message>
Content-Length: ...

<longer custom message>

Причина в том, что я хочу программный клиент, чтобы иметь возможность обрабатывать ответное сообщение, чтобы получить конкретный ответ, но я также хочу заполнить тело ответа более подробным объяснением, чтобы его было легко использовать с помощью браузера.

Теперь HttpServletResponse имеет sendError (int , String), который позволяет мне указать код ошибки и сообщение. В javadocs говорится только о том, что сообщение будет встроено в какую-то html-страницу, но ничего о настройке сообщения HTTP-ответа. После вызова этого метода вам не разрешается ничего писать в ответ. В моих тестах (с причалом) сообщение используется как для ответа http, так и для тела html, что бы меня устроило, за исключением того, что я хочу указать две разные строки и не думаю, что настройка сообщения HTTP-ответа гарантирована другой реализацией.

Существует также метод setStatus (int), который вы можете вызовите с помощью любого кода, а затем вы можете написать свое собственное тело html. Это близко, за исключением того, что вы не можете указать сообщение HTTP-ответа.

Наконец, есть метод setStatus (int, String), который на самом деле делает именно то, что я хочу, но он устарел из-за некоторой двусмысленности. Я предполагаю, что некоторые контейнеры сервлетов записывали сообщение в тело ответа и закрывали ответ.

Помимо использования устаревшего метода, я предполагаю, что здесь я облажался, но я ' иметь один мастер-документ, в котором будут итоги каждого из них. Таким образом, я представляю, что для каждого файла должна быть строка input: name ...

У меня есть несколько файлов Excel, содержащих заполненные данные, теперь я бы хотел иметь один главный документ, который будет иметь сводный результат для каждого.

Таким образом, я представляю себе, чтобы для каждого файла была введена строка: имя - адрес - некоторые данные ...

Я хотел бы открыть каждый из файлов и скопировать данные из выбранных ячеек в свой главный файл.

Я понял, что могу создать невидимый экземпляр Excel, таким образом, это не будет быть показаны пользователю.

Как я могу скопировать / вставить данные, принятые из A1, в мой лист?

Sub Combine()
  Fpath = "c:\test\" 
  Fname = Dir(Fpath & "*.xls")
  Dim xl As Excel.Application
  Set xl = CreateObject("Excel.Application")
  xl.Visible = false
  Dim w As Workbook
  Dim remoteBook As Workbook
  Set remoteBook = xl.Workbooks.Open(Fpath & Fname)
  xl.Quit
 End Sub

Я новичок в VBA, способ доступа кажется довольно сложным, есть ли более простой способ получить значения из этих файлов Excel? Я действительно хочу найти простое решение.

Что больше раздражает, так это макросы VBA в файлах опроса, могу ли я отключить их при открытии поэтому пользователю не предлагается?

спасибо!

1
задан Gadolin 7 October 2010 в 20:43
поделиться