当前位置: 代码迷 >> 综合 >> JavaWeb-day14-servlet
  详细解决方案

JavaWeb-day14-servlet

热度:23   发布时间:2024-02-07 12:24:57.0

servlet

Servlet的使用三步曲

  1. 创建一个类,实现接口:Servlet或继承HttpServlet
  2. 在web.xml中“注册”这个实现类
  3. Tomcat(Servlet容器)会创建实现类对象,并调用相应的生命周期方法

生命周期方法

构造器
init()方法
service()方法
destroy()方法

执行过程

第一次请求
创建对象
执行init()方法
执行service()方法
后面请求
执行service()方法 …. ……
对象销毁前
执行destroy()方法

Servlet 执行过程分析

在这里插入图片描述

get请求方式

	url会显示参数数据的传递是有限的method="get"get的编码是在tomcat/conf/servlet.xml 里面解决的

post 请求方式

	method="post"参数在url里面看不到了post编码问题的解决response.setContentType("text/html;charset=UTF-8");

出现的问题总结

1.导入的项目出现异常:JDK unfound、Tomcat unfound 等问题

**解决:**点击小三角选中customize view,取消选中resources,右击项目名称点击properties,点击Java Build Path,就会出现JRE或者Tomcat 出现unfind,编辑修改完成,最后点击项目地下的.settings目录下的org.eclipse.wst.common.project.facet.core.xml文件,打开后修改里面的配置参数,保存后就没有错误啦

2.解决乱码问题

  • 从页面获取值的时候post 提交方式
    request.setCharacterEncoding(“UTF-8”);

  • 从页面获取值的时候get 提交方式
    < Connector port=“8080” protocol=“HTTP/1.1” connectionTimeout=“20000” redirectPort=“8443” URIEncoding=“UTF-8”/>

  • Servlet 返回到页面
    response.setContentType(“text/html;charset=UTF-8”);

  • jsp页面设置utf-8 编码
    <%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
    < meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>

3.复制的项目需要修改:

右击properties 搜索web选项 点击web project settings将原项目名改为现项目名就完成啦

  相关解决方案