javaweb_servlet创建和使用

SERVLET:是用Java编写的服务器端程序,其主要功能在于交互式地浏览和 修改数据,生成动态Web内容
1. 如何创建一个servlet

​ public class LoginServlet extends HttpServlet{
​ service()
​ dopost()
​ doget()
​ }

​ public class LoginServlet implements Servlet{
​ init();
​ service()
​ destroy()
​ }

2. 如何访问servlet(前端页面执行相应的servlet)
  1. xml文件中配置servlet

      < servlet>
          < servlet-name>服务器的名称</ servlet-name>
          < servlet-class>服务类所在的路径</>
      < /servlet>
      < servlet-mapping>
          < servlet-name>服务器的名称</>
          < url-pattern>/loginservlet< /url-pattern>
      </>
    
  2. 使用注解的方式 /当前项目所在的路径 根路径(简单

    @WebServlet(urlPatterns="/login")

3.两个对象:

service()方法中会自动传入两个对象,不用自己创建

使用继承HttpServlet创建时:

1.页面到服务器:HttpServletRequest

常用方法:

获取页面的请求参数:
String getParameter(String name):根据请求的参数名字,返回的值
getParameterValues(String name):根据请求的参数名字,返回对应的字符串数组 (多选框等传参)
getParameterNames():返回请求成参数名对应的值
获取请求页面的路径:
getRquestURI()
getRquestURL()
获取页面请求的方式 get/post
getMethod()
设置页面请求的字符集(post请求时管用)
setCharacterEncoding(“utf-8”)
转发跳转页面:
getRequestDispatcher(“路径”).forward(请求对象,响应对象)
设置属性值
setAttribute(属性名,属性值)
获取属性值:
getAttribute(属性名)

获取session对象:

​ request.getSession()

2.服务器到页面:响应 HttpServletResponse

​ 常用的方法:
​ 响应的信息写入页面内
​ 获取输出流 getWriter();
​ 设置响应的字符集
​ setCharacterEncoding(“utf-8”);
​ 重定向跳转页面:
​ sendRedirect(“路径”):重定向的路径

​ 给这个响应添加一个cookie

​ void addCookie(Cookie var1);

4.前端请求的方式

方式1:通过表单 get/post提交

方式2:通过a标签发送数据(get提交)

示例: <a href="/login?a=10&name=abc&pass=123">

这里的key值=表单元素的控件名,value值=表单中控件的value属性值 注:第一个参数使用?拼接,之后的参数使用&拼接,获取数据还是通过 String name=request.getParameter(“name”);

方式3:通过地址栏直接拼接-(get)请求
方式4:js提交数据
(1) location.href=“目标请求?key=value&key=value”
(2) ajax提交(常用

注:方式2/3都属于get提交方式,表单、ajax提交可以使用get、post提交方式

5.servlet响应跳转页面的方式
1.转发转发:

​ request.getRequestDispatcher("…/success.jsp").forward(request,response);

转发时地址栏显示的是请求页面的地址,request数据可以保 存

2.重定向

​ response.sendRedirect()

重定向时地址栏会改变,request中存储的数据会丢失

3.response的输出流发送js代码跳转

out.print("< script type=‘text/javascript’>alert(‘登录失败’);location=’…/login.jsp’< /script>");

使用js跳转页面,也会丢失request中的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值