一个完整的Java Web 通常由表示层,控制层,业务层及数据访问层组成.表示层通常由HTML和JSP页面构建,控制层一般用Servlet,业务逻辑层则是JavaBean或EJB,数据访问层组件是JDBC或Hibernate.Java Web 的各组件在配置文件(.xml)中声明后打包,部署到Java Web 服务器(Tomcat...)中运行.
Servlet是用java编写的服务器端程序,由于是个java类,具有可移植,可扩展等优点.通过javax.servlet 和javax.servlet.http包获得java的支持.尤其是javax.servlet.http 包提供了针对HTTP协议的方法包括处理HTTP请求和响应(HttpServlet类),分别由doGet()和doPost()进行处理.
对于客户请求的处理(HttpServletRequest类)
以HTML形式把请求发送给客户(HttpServletResponse类)
记录当前Servlet中的用户会话(HttpSession类)
把Servlet的请求提交或委派给另一资源(RequestDispatcher类),RequestDispatcher指向特定资源的URL,可通过HttpServletRequest 对象的getRequestDispatcher()方法生成.
由于在Java Web中Servlet通常作为控制器组件,需要在配置文件(web.xml)中进行声明.
Servlet是用java编写的服务器端程序,由于是个java类,具有可移植,可扩展等优点.通过javax.servlet 和javax.servlet.http包获得java的支持.尤其是javax.servlet.http 包提供了针对HTTP协议的方法包括处理HTTP请求和响应(HttpServlet类),分别由doGet()和doPost()进行处理.
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,java.io.IOException;
protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,java.io.IOException;
对于客户请求的处理(HttpServletRequest类)
HttpServletRequest request;
String name = request.getParameter("username");
以HTML形式把请求发送给客户(HttpServletResponse类)
HttpServletResponse response;
response.sendredirect("index.jsp");
记录当前Servlet中的用户会话(HttpSession类)
HttpServletRequest request;
HttpSession session = request.getSession(true);
把Servlet的请求提交或委派给另一资源(RequestDispatcher类),RequestDispatcher指向特定资源的URL,可通过HttpServletRequest 对象的getRequestDispatcher()方法生成.
RequestDispatcher rd = request.getRequestDispatcher("WELCOME.JSP");
rd.forward(request,response);
由于在Java Web中Servlet通常作为控制器组件,需要在配置文件(web.xml)中进行声明.
web.xml
...
<servlet>
<servlet-name>myServlet</servler-name>
<servlet-class>myServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
...