。。。。
是的 !
init方法里 两个都是se'tUserName
你这个版本应该在2.5之上了吧,3.0之后的版本都默认是生成注解而不是web.xml的,配置都直接在注解里配置好了所以xml都不更行了。。。。
可能你用的是servlet3.0,它是不会自动注册在web.xml,而是以注解方式
java关键字“this”只能用在方法方法体内。当一个对象创建之后,java虚拟机就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。只能在非静态方法中使用
关于Servle.init()中getInitParameter 抛异常,我也是这样遇到过,将getInitParameter前面的this改为config就可以了
你好!
因为get请求根本不会用它,为了防止写代码的时候误用到了,就在do get跳到do post。完全不用在意,你不在do get里面执行do post也没什么。
应该用户在访问的时候你不能确定用户是通过deget还是dopost访问的,要是你只要了doget或者dopost用户访问的请求方式你正好没写就会报错
代码贴出来看看啊
后面的案例就是教你做一个简单的shopping页面,认真学习,天天向上
public void init() throws ServletException {
this.setUsername(this.getInitParameter("username"));
this.setPassword(this.getInitParameter("password"));
是不是username和password没有加双引号啊
页面跳转出现HTTP method GET is not supported by this URL
一般情况可能是,用户请求表单提交为post,而你实现的是doGet方法,而没实现doGet方法导致的
你继承的类是不是GenericServlet吧
System.out.println((String)this.getInitParameter(username)); 中username要打双引号
getServletConfig()
在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和
ServletContext对象,前者通常由容器在文件中指定,
允许在运行时向sevrlet传递有关调度信息,比如说getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。
此方法可以让servlet在任何时候获得该对象及配置信息。
getServletContext()
一个servlet可以使用getServletContext()方法得到web应用的servletContext
即而使用getServletContext的一些方法来获得一些值
比如说getServletContext().getRealPath("/")来获得系统绝对路径
getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容
getServletContext()取得的是 <context-param>配置的参数
getServletConfig()取得的是 <servlet> <init-param>配置的参数
2: getServletContext()应用于整个web App,而getServletConfig()仅应用于当前Servlet。 但是ServletConfig对象拥有ServletContext的引用。所以可以通过getServletConfig()来获得web App的
初始值。
一些框架要启动的代码可能需要一些参数,你可以看看spring框架,或者等到你学spring需要整合的时候就明白了,这些参数不可能是用户来访问的时候传递的,而是需要你配置的
这还是get提交,通过这个链接去调用了一个Servlet。这个Servlet再去获取xml中的初始化参数。
是的。
使用重构可以修改名字的
当你引用其他地方的username的时候,就需要加引号,而在你的本类中,自己定义的username、password就不需要。添加引号意味着他是一个字符串。而在你的本类中 String username。类似于这样的语句,你已经定义了,所以你在使用本类中的username的时候就不需要添加引号,
你能说一下你要建什么样的数据吗?
servlet的作用吗?
可以这样做
@WebServlet(
name="TestServlet",
value="/servlet/GetInitParameterServlet",
initParams={@WebInitParam(name="username",value="admin")}
)
----------------------------------------
public void init() throws ServletException {
// Put your code here
String username = this.getInitParameter("username");
}
....init()方法是初始化啊-.-
那就是无论有没有参数,一开始都是给默认值的