Как значение из формы попадает в ваш Бин? Вы делаете:
CompileClass c=new CompileClass(); //creates a new, empty instance
name1=c.getName(); //gets the name from the empty
//instance (will be null)
request.setAttribute("name1", name1); //sets 'name1' to null in the request
Возможно, вам повезет больше, если вы сделаете:
CompileClass c=new CompileClass(); //creates a new, empty instance
c.setName(request.getParameter("name"));//get the param and set it in the bean
name1=c.getName(); //gets the name from the bean
request.setAttribute("name1", name1); //sets 'name1' in the request
Хотя из структуры вашего кода кажется, что вы, вероятно, используете какую-то веб-среду, которая, как вы ожидаете, автоматически заполнит Бин данными из запроса. Если это так, то вы можете обратиться к документации по конфигурации и использованию вашей платформы, чтобы убедиться, что она настроена правильно и используется правильно.
Edit:
Также, пожалуйста, не делайте такие вещи, как:
<% request.getSession().getAttribute("name1");%>
Используйте это вместо:
${name1}
Редактировать 2:
Вы не развертываете свой сервлет в web.xml
. Вам необходимо настроить его, добавив что-то вроде:
<servlet>
<servlet-name>newServlet</servlet-name>
<servlet-class>user.NewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>newServlet</servlet-name>
<url-pattern>/name/*</url-pattern>
</servlet-mapping>
А затем вам нужно обновить HTML-форму, чтобы она отправляла в сервлет, а не напрямую в JSP. Так что-то вроде:
<FORM METHOD=POST ACTION="name/submit">