servlet的简单定义
1、servlet:
动态的web开发技术,本质就是一个类,运行在服务器端的一个java小程序
处理业务逻辑,生成动态web内容
(不太贴切的可以认为是链接浏览器和服务器的类,用来处理请求和响应,并作出相应的操作)
2、编写一个servlet步骤:
1.编写一个类
a.继承HttpServlet
b.重写doGet或者doPost方法
(实际上是默认调用service方法,但是这个方法中是根据请求方式在调用doget或者dopost,所以
通常覆盖这两个方法就可以)
1 public class ShowServlet extends HttpServlet { 2 private static final long serialVersionUID = 1L; 3 //覆盖两个方法 4 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 5 response.setContentType("text/html;charset=utf-8"); 6 ServletContext sContext = getServletContext(); 7 Integer count = (Integer)sContext.getAttribute("count"); 8 response.getWriter().print("当前的访问次数为:"+count); 9 10 } 11 12 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 13 doGet(request, response); 14 } 15 16 }
2.编写配置文件(web-inf/web.xml)
a.注册servlet
b.绑定路径
(在配置文件中添加项目,效果如下:)
servlet-class中存储的是类的路径
servlet和servlet-mapping要成对出现
1 <servlet> 2 <servlet-name>helloservlet</servlet-name> 3 <servlet-class>servlet_practice.hello_servlet.MyServlet</servlet-class> 4 </servlet> 5 <servlet-mapping> 6 <servlet-name>helloservlet</servlet-name> 7 <url-pattern>/hello</url-pattern> 8 </servlet-mapping>
3.访问
http://主机:端口号/项目名/路径
3、接受参数: 格式:key=value
Sting value=request.getParameter("key")
例如: http://localhost/day09/hello?username=tom
request.getParameter("username")就可以获取tom值
在post方式中,直接使用getParameter方法也可以,因为这些参数保存在请求体中,比如表单提交;
1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 2 String name=req.getParameter("username"); 3 String pwd = req.getParameter("password"); 4 }
4、回写内容:
response
response.getWriter().print("success");
处理响应数据中文乱码:
resp.setContentType("text/html;charset=utf-8"); //建议大家放在方法中的第一行
1 2 response.setContentType("text/html;charset=utf-8"); 3 ServletContext sContext = getServletContext(); 4 Integer count = (Integer)sContext.getAttribute("count"); 5 response.getWriter().print("当前的访问次数为:"+count);
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
原文链接
如有问题, 可邮件(zxy.hope@gmail.com)咨询.