Servlet

一.Servlet 的定义及作用:

1.接收客户端请求
2.处理 ,产生结果

3.响应客户端

二. Servlet 文件结构及 创建方法

1.Servlet 文件目录结构

webroot
   	-WEB-INF
		-classes
		-lib
		- *.xml

2.创建Servlet 需导入servlet-api.jar 包 (xml配置)


创建类 继承 HttpServlet 
Servlet 通过调用 init () 方法进行初始化。
Servlet 通过 doGet() 和 doPost() 方法是每次服务请求中最常用的方法。
Servlet 通过调用 destroy() 方法终止(结束)。

	<!-- servlet 注册 -->
	<servlet>
		<servlet-name>MyServlet</servlet-name>
		<servlet-class>com.hst.servlet.MyServlet</servlet-class>  <!--类地址--><!-- 在classes文件下寻找-->
	</servlet>

	<!-- Servlet 与url映射 -->
	<servlet-mapping>
		<servlet-name>MyServlet</servlet-name>	
		<url-pattern>/MyServlet.servlet</url-pattern>   <!--url地址 -->
	</servlet-mapping>

 
使用 Servlet 读取表单数据

String value=getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。

Strign [] value=getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。返回的是数组

getParameterNames():如果您想要得到当前请求中的所有参数的完整列表,则调用该方法


三,Servlet 乱码

一、hosts文件 指局域网IP映射
    C:\Windows\System32\drivers\etc  host 

* 二、响应服务端数据

		PrintWriter pw =  response.getWriter();
		pw.println("<h1>userName : "+userName+" , passWord:"+passWord+"</h1>");
		pw.close();

* 三、乱码问题 
 
 * 请求中文乱码:

    GET:  server.xml->   Connector标签中添加属性: URIEncoding="UTF-8"

    POST: request.setCharacterEncoding("UTF-8");

 * 响应中文乱码:

      response.setContentType("text/html;charset=utf-8");

  name =new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");

四,Servlet实例化

1.Servlet如何被实例化的

class LoginServlet  extends HttpServlet{
    
}
      LoginServlet loginServlet = new LoginServlet();错误方式 (X)
答:Servlet是由Servlet容器(Web服务器)实例化的 

2.Servlet容器是什么时候实例化Servlet

    答: (1)默认:第一次访问请求Servlet
   (2)web.xml中设置在 web服务器启动时实例化:  <load-on-startup>1</load-on-startup>

3.Servlet被实例时调用方法

 public void init(ServletConfig config) 

4.访问请求Servlet时执行方法

      客户端post -> doPost()
            get  -> doGet()  

五,Servlet 页面间跳转与参数传递

  1.转发

2.重定向

login.html  -> login.servlet -> success.html
                                 -> fail.html

    login.html  -> login.servlet
    1>表单提交
	  1.  <from action="login.servlet" method="post">
	        <input type="text" name="username" >
			<input type="submit" vlaue="提交">
		</form>
		
		//username=admin
	2. <a href="login.servlet?username=admin&password=123">跳转到loginServlet</a>   



get请求传参方式 :   login.servlet?username=admin&password=123
post请求传参方式:   login.servlet
              参数存储在消息体中  username=admin   password=123
 
 
    login.servlet -> success.html
                  -> fail.html
 

 Servlet转发和重定向方法:

   HttpServletRequest reqeust ;  HttpServletResponse  response;
	request.getRequestDispatcher("success.html").forward(request, response);//转发
		
	response.sendRedirect("fail.html");  //重定向





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值