Servlet简称服务器端小程序,是使用java语言编写的服务器端程序,可以向jsp一样动态生成动态的web页面。它是java对CGI程序的实现。但是servlet采用了多线程。
一个简单的servlet程序编译完成后,还不能立即被访问,是因为所有的servlet程序都是以class文件存在的,所以还必须在WEB-INF\web.xml文件中进行servlet程序的映射配置。
<servlet> //首先定义servlet
<servlet-name>hello</servlet-name> //与servlet-maping相对应
<servlet-class>cn.com.HelloServlet</servlet-class>
</servlet>
<servlet-mapping> //映射路径
<servlet-name>hello</servlet-name>//与servlet相对应
<url-pattern>/helloServlet</url-patten>//页面的映射路径
</servlet-mapping>
从运行流程来看,先是通过url-patten的页面映射找到sevlet-name,然后根据servlet-name找到class文件。
我们在servlet输出html页面内容时,我们可以在doget方法内,当然form表单提交需要用get方法。response是服务器对客户端的应答,request是客户端对服务器的请求。
String info=request.getParameter("info");//从请求中获取到值。
PrintWriter out=response.getWriter();//准备输出
out.println("<html>");
out.println("</html>");
servlet生命周期包括加载程序、初始化、服务、销毁、卸载5个部分。
可以取得其他内置对象
public HttpSession getSession() 返回当前的Session
public HttpSession getSession(boolean create)返回当前的session,如果没有则创建一个新的session对象返回。
例如在servlet中
HttpSession ses=req.getSession();
System.out.println(ses.getId());
ses.setAttribute("name","lili");//设置属性
ses.getAttribute("name");//取得属性内容
取得ServletContext对象
application内置对象是ServletContext接口的实例,表示的是servlet的上下文。
我们可以在定义的servlet对象中如下使用
ServletContext app =super.getServletContext();
System.out.println("真实路径是:" app.getRealPath("/"));
Servlet跳转部分知识
直接使用HtpServletResponse接口的sendRedirect()方法接口即可,但是此跳转只能传递session范围的属性,而无法传递request范围的属性。
而在Servlet中没有jsp中的<jsp:forward>指令,如果想要执行服务器端跳转就必须依靠RequestDispatcher接口完成,此接口提供了如下方法:
public void forward(ServletRequest request, ServletResponse response)
throws ServletException ,IOException页面跳转
public void include(ServletRequest request, ServletResponse response)throws... 页面包含
使用此接口还需要使用ServletRequest接口的如下方法进行实例化。
public RequestDispatcher getRequsetDispatcher(String path)取得RequestDispatcher接口实例
如下面例子
request.getSession().setAttribute("name", "ling");
request.setAttribute("info", "nihao");
RequestDispatcher rd=requset.geRequestDispatcher("get_info.jsp");
rd.forward(request,response);
本文介绍了Servlet的基本概念,包括它的定义、工作原理以及如何通过配置文件映射Servlet程序。此外,还详细讲解了如何在Servlet中处理HTTP请求和响应,探讨了Servlet的生命周期,并介绍了会话管理和上下文对象的应用。
 servlet程序&spm=1001.2101.3001.5002&articleId=34449029&d=1&t=3&u=edb03a56dabc432583124c12928f3eb5)
231

被折叠的 条评论
为什么被折叠?



